DD4hep - The AIDA detector description toolkit for high energy physics experiments
DD4hep  Rev:Unversioneddirectory
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Geant4DataDump.h
Go to the documentation of this file.
1 // $Id: $
2 //==========================================================================
3 // AIDA Detector description implementation for LCD
4 //--------------------------------------------------------------------------
5 // Copyright (C) Organisation europeenne pour la Recherche nucleaire (CERN)
6 // All rights reserved.
7 //
8 // For the licensing terms see $DD4hepINSTALL/LICENSE.
9 // For the list of contributors see $DD4hepINSTALL/doc/CREDITS.
10 //
11 // Author : M.Frank
12 //
13 //==========================================================================
14 
15 #ifndef DD4HEP_DDG4_GEANT4DATADUMP_H
16 #define DD4HEP_DDG4_GEANT4DATADUMP_H
17 
18 // Framework include files
19 #include "DD4hep/Printout.h"
20 #include "DDG4/Geant4Data.h"
21 #include "DDG4/Geant4Particle.h"
22 
23 // C/C++ include files
24 #include <vector>
25 
27 namespace DD4hep {
28 
30  namespace Simulation {
31 
33 
39  public:
41  typedef std::vector<Particle*> Particles;
42 
44  typedef std::vector<SimpleTracker::Hit*> TrackerHits;
45 
47  typedef std::vector<SimpleCalorimeter::Hit*> CalorimeterHits;
48 
49  protected:
51  std::string m_tag;
52 
53  public:
55  Geant4DataDump(const std::string& tag);
57  virtual ~Geant4DataDump();
58 #if !(defined(G__DICTIONARY) || defined(__CLANG__) || defined(__CINT__) || defined(__MAKECINT__))
59  void print(PrintLevel level, Geant4ParticleHandle p) const;
61 #endif
62  void print(PrintLevel level, const std::string& container, const Particles* parts);
64 
66  void print(PrintLevel level, const TrackerHit* h);
68  void print(PrintLevel level, const std::string& container, const TrackerHits* hits);
69 
71  void print(PrintLevel level, const CalorimeterHit* h);
73  void print(PrintLevel level, const std::string& container, const CalorimeterHits* hits);
74 
75  };
76  } // End namespace Simulation
77 } // End namespace DD4hep
78 
79 #endif /* DD4HEP_DDG4_GEANT4DATADUMP_H */
DDG4 tracker hit class used by the generic DDG4 tracker sensitive detector.
Definition: Geant4Data.h:228
std::vector< SimpleCalorimeter::Hit * > CalorimeterHits
std::vector< Particle * > Particles
Data structure to store the MC particle information.
SimpleCalorimeter::Hit CalorimeterHit
DDG4 calorimeter hit class used by the generic DDG4 calorimeter sensitive detector.
Definition: Geant4Data.h:273
PrintLevel
Definition: Printout.h:47
virtual ~Geant4DataDump()
Standard destructor.
std::vector< SimpleTracker::Hit * > TrackerHits
Geant4DataDump(const std::string &tag)
Default constructor.
std::string m_tag
Tag variable.
Data structure to access derived MC particle information.
Class to dump the records of the intrinsic Geant4 event model.
void print(PrintLevel level, Geant4ParticleHandle p) const
Print a single particle to the output logging using the specified print level.