Warning, file /include/DDG4/Geant4DataDump.h was not indexed
or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014 #ifndef DDG4_GEANT4DATADUMP_H
0015 #define DDG4_GEANT4DATADUMP_H
0016
0017
0018 #include <DD4hep/Printout.h>
0019 #include <DDG4/Geant4Data.h>
0020 #include <DDG4/Geant4Particle.h>
0021
0022
0023 #include <vector>
0024
0025
0026 namespace dd4hep {
0027
0028
0029 namespace sim {
0030
0031
0032
0033
0034
0035
0036
0037 class Geant4DataDump {
0038 public:
0039 typedef Geant4Particle Particle;
0040 typedef std::vector<Particle*> Particles;
0041
0042 typedef SimpleTracker::Hit TrackerHit;
0043 typedef std::vector<SimpleTracker::Hit*> TrackerHits;
0044
0045 typedef SimpleCalorimeter::Hit CalorimeterHit;
0046 typedef std::vector<SimpleCalorimeter::Hit*> CalorimeterHits;
0047
0048 protected:
0049
0050 std::string m_tag;
0051
0052 public:
0053
0054 Geant4DataDump(const std::string& tag);
0055
0056 virtual ~Geant4DataDump();
0057 #if !(defined(G__DICTIONARY) || defined(__CLANG__) || defined(__CINT__) || defined(__MAKECINT__))
0058
0059 void print(PrintLevel level, Geant4ParticleHandle p) const;
0060
0061 void print(PrintLevel level, int key, Geant4ParticleHandle p) const;
0062 #endif
0063
0064 void print(PrintLevel level, const Geant4ParticleMap* parts) const;
0065
0066
0067 void print(PrintLevel level, const std::string& container, const Particles* parts) const;
0068
0069
0070 void print(PrintLevel level, const TrackerHit* h) const;
0071
0072 void print(PrintLevel level, const std::string& container, const TrackerHits* hits) const;
0073
0074
0075 void print(PrintLevel level, const CalorimeterHit* h) const;
0076
0077 void print(PrintLevel level, const std::string& container, const CalorimeterHits* hits) const;
0078
0079 };
0080 }
0081 }
0082
0083 #endif