20 using namespace DD4hep;
21 using namespace DD4hep::Simulation;
26 Geant4DataDump::Geant4DataDump(
const std::string& tag) : m_tag(tag) {
37 printout(level,
m_tag,
" +++ TrackID: %6d %12d %6d %-7s %3s %5d %6s %8.3g %-4s %-7s %-7s %-3s",
56 printout(level,
m_tag,
"+++ Track container: %-21s --------------- Track KEEP reasoning ---------------",container.c_str());
57 printout(level,
m_tag,
"+++ # of Tracks:%6d PDG Parent Primary Secondary Energy %-8s Calo Tracker Process/Par",
58 int(parts->size()),
"in [MeV]");
59 for(Particles::const_iterator i=parts->begin(); i!= parts->end(); ++i)
68 printout(level,
m_tag,
" +++ Hit: Cell: %016llX Pos:(%9.3g,%9.3g,%9.3g) Len:%9.3g [mm] E:%9.3g MeV TrackID:%6d PDG:%12d dep:%9.3g time:%9.3g [ns]",
75 printout(level,
m_tag,
"+++ %s: # Tracker hits %d",container.c_str(),int(hits->size()));
76 for(TrackerHits::const_iterator i=hits->begin(); i!= hits->end(); ++i)
84 printout(level,
m_tag,
" +++ Hit: Cell: %016llX Pos:(%9.3g,%9.3g,%9.3g) [mm] E:%9.3g MeV #Contributions:%3d",
88 for(SimpleHit::Contributions::const_iterator i=t.begin(); i!=t.end(); ++i,++cnt) {
98 printout(level,
m_tag,
"+++ %s: # Calorimeter hits %d",container.c_str(),int(hits->size()));
99 for(CalorimeterHits::const_iterator i=hits->begin(); i!= hits->end(); ++i)
DDG4 tracker hit class used by the generic DDG4 tracker sensitive detector.
std::vector< SimpleCalorimeter::Hit * > CalorimeterHits
std::vector< Particle * > Particles
std::vector< MonteCarloContrib > Contributions
double length
Length of the track segment contributing to this hit.
DDG4 calorimeter hit class used by the generic DDG4 calorimeter sensitive detector.
const char * yes_no(bool value)
Helper function to print booleans in format YES/NO.
double energyDeposit
Energy deposit in the tracker hit.
Position position
Hit position.
Data structure to manipulate a bitmask held by reference and represented by an integer.
Contribution truth
Monte Carlo / Geant4 information.
long long int cellID
cellID
Contributions truth
Hit contributions by individual particles.
double deposit
Total energy deposit in this hit.
not persisten. ROOT cannot handle
Particles parents
The list of daughters of this MC particle.
ReferenceBitMask< const int > PropertyMask
virtual ~Geant4DataDump()
Standard destructor.
Position position
Hit position.
std::vector< SimpleTracker::Hit * > TrackerHits
std::string m_tag
Tag variable.
Data structure to access derived MC particle information.
double energy() const
Scalar particle energy.
int pdgID
Particle ID from the PDG table.
int printout(PrintLevel severity, const char *src, const char *fmt,...)
Calls the display action with a given severity level.
void print(PrintLevel level, Geant4ParticleHandle p) const
Print a single particle to the output logging using the specified print level.
int trackID
Geant 4 Track identifier.
double energyDeposit
Total energy deposit.
double time
Timestamp when this energy was deposited.
bool isSet(const T &m) const