15 MCStep invalid_step(invalid, invalid);
50 throw std::out_of_range(
"No charge stored for plane " +
std::to_string(plane));
58 if (plane >=
fdQdx.size())
59 throw std::out_of_range(
"No dQ/dx stored for plane " +
std::to_string(plane));
const std::vector< double > & dQdx() const
const double kINVALID_DOUBLE
virtual ~MCShower()
Default destructor.
int fMotherPDGCode
Shower's mother PDG code.
void ClearData()
Clears the fields of this class.
unsigned int fAncestorTrackID
Shower's ancestor G4 track ID.
MCStep fStart
Shower particle's G4 start point.
unsigned int fTrackID
Shower particle G4 track ID.
MCStep fDetProfile
Combined energy deposition information.
unsigned int fMotherTrackID
Shower's mother G4 track ID.
std::string fAncestorProcess
Shower's ancestor creation process.
int fPDGCode
Shower particle PDG code.
int fAncestorPDGCode
Shower's ancestor PDG code.
decltype(auto) constexpr to_string(T &&obj)
ADL-aware version of std::to_string.
std::string fProcess
Shower particle's creation process.
double fdEdx
Shower True dEdx.
std::string fMotherProcess
Shower's mother creation process.
MCStep fMotherStart
Shower's mother G4 start point.
std::vector< double > fdQdx
MCStep fEnd
Shower particle's G4 end point.
std::vector< unsigned int > fDaughterTrackID
Daughters' track ID.
const std::vector< double > & Charge() const
Class def header for MCShower data container.
const unsigned int kINVALID_UINT
std::vector< double > fPlaneCharge
Charge deposit per plane.
MCStep fAncestorStart
Shower's ancestor G4 start point.