ATLAS Offline Software
Public Member Functions | Private Attributes | List of all members
ISF::ISFParticle Class Reference

#include <ISFParticle.h>

Collaboration diagram for ISF::ISFParticle:

Public Member Functions

 ISFParticle ()=delete
 disallow default constructor More...
 
 ISFParticle (const Amg::Vector3D &pos, const Amg::Vector3D &mom, double mass, double charge, int pdgCode, int status, double time, const ISFParticle &parent, int id, int barcode=HepMC::UNDEFINED_ID, TruthBinding *truth=nullptr, const HepMcParticleLink *partLink=nullptr)
 use this constructor whenever possible More...
 
 ISFParticle (const HepGeom::Point3D< double > &pos, const HepGeom::Vector3D< double > &mom, double mass, double charge, int pdgCode, int status, double time, const ISFParticle &parent, int id, int barcode=HepMC::UNDEFINED_ID, TruthBinding *truth=nullptr, const HepMcParticleLink *partLink=nullptr)
 CLHEP-compatible constructor. More...
 
 ISFParticle (const Amg::Vector3D &pos, const Amg::Vector3D &mom, double mass, double charge, int pdgCode, int status, double time, const DetRegionSvcIDPair &origin, int id, int barcode=HepMC::UNDEFINED_ID, TruthBinding *truth=nullptr, const HepMcParticleLink *partLink=nullptr)
 this constructor should only be used for event read-in More...
 
 ISFParticle (const ISFParticle &isfp)
 Copy constructor. More...
 
 ISFParticle (ISFParticle &&isfp)
 Move copy constructor. More...
 
 ~ISFParticle ()
 Destructor. More...
 
ISFParticleoperator= (const ISFParticle &rhs)
 Assignment operator. More...
 
ISFParticleoperator= (ISFParticle &&rhs)
 Move assignment operator. More...
 
bool operator== (const ISFParticle &rhs) const
 Comparisons. More...
 
bool isEqual (const ISFParticle &rhs) const
 
bool isIdent (const ISFParticle &rhs) const
 
const Amg::Vector3Dmomentum () const
 The current momentum vector of the ISFParticle. More...
 
const Amg::Vector3Dposition () const
 The current position of the ISFParticle. More...
 
void updatePosition (const Amg::Vector3D &position)
 Update the position of the ISFParticle. More...
 
void updateMomentum (const Amg::Vector3D &momentum)
 Update the momentum of the ISFParticle. More...
 
double mass () const
 mass of the particle More...
 
double charge () const
 charge of the particle More...
 
double timeStamp () const
 Timestamp of the ISFParticle. More...
 
int pdgCode () const
 PDG value. More...
 
double ekin () const
 Kinetic energy. More...
 
const ParticleHistoryhistory () const
 the particle's full history More...
 
AtlasDetDescr::AtlasRegion originGeoID () const
 the sub-detector ID the particle's originates from More...
 
SimSvcID originSimID () const
 the simulation service the particle originates from More...
 
AtlasDetDescr::AtlasRegion prevGeoID () const
 previous geoID that the particle was simulated in More...
 
SimSvcID prevSimID () const
 the simulation service that previously treated this particle More...
 
AtlasDetDescr::AtlasRegion nextGeoID () const
 next geoID the particle will be simulated in More...
 
SimSvcID nextSimID () const
 the next simulation service the particle will be sent to More...
 
void setNextGeoID (AtlasDetDescr::AtlasRegion geoID)
 register the next AtlasDetDescr::AtlasRegion More...
 
void setNextSimID (SimSvcID simID)
 register the next SimSvcID More...
 
int barcode () const
 the barcode More...
 
void setBarcode (int bc)
 set a new barcode More...
 
int id () const
 unique ID More...
 
void setId (int id)
 set a new unique ID More...
 
const TruthBindinggetTruthBinding () const
 pointer to the simulation truth - optional, can be 0 More...
 
TruthBindinggetTruthBinding ()
 
void setTruthBinding (TruthBinding *truth)
 
const HepMcParticleLinkgetParticleLink () const
 HepMcParticleLink accessors. More...
 
void setParticleLink (const HepMcParticleLink *partLink)
 
ParticleOrder getOrder () const
 return the particle order (eg used to assure ID->Calo->MS simulation order) More...
 
void setOrder (ParticleOrder order)
 
const ParticleUserInformationgetUserInformation () const
 get/set ParticleUserInformation More...
 
ParticleUserInformationgetUserInformation ()
 
void setUserInformation (ParticleUserInformation *userInfo)
 
MsgStream & dump (MsgStream &out) const
 Dump methods to be used by the overloaded stream operator (inheritance!) More...
 
std::ostream & dump (std::ostream &out) const
 
void setStatus (int a)
 
int status () const
 

Private Attributes

Amg::Vector3D m_position
 
Amg::Vector3D m_momentum
 
double m_mass
 
double m_charge
 
int m_pdgCode
 
int m_status
 
double m_tstamp
 
ParticleHistory m_history
 
int m_barcode
 barcode TODO remove in favour of m_status + m_uid More...
 
int m_uid
 
TruthBindingm_truth
 < unique ID More...
 
ParticleOrder m_order
 particle simulation order More...
 
ParticleUserInformationm_userInfo
 user information stored with the ISFParticle More...
 
const HepMcParticleLinkm_partLink
 

Detailed Description

The generic ISF particle definition,

Author
Andreas.Salzburger -at- cern.ch , Elmar.Ritsch -at- cern.ch

Definition at line 42 of file ISFParticle.h.

Constructor & Destructor Documentation

◆ ISFParticle() [1/6]

ISF::ISFParticle::ISFParticle ( )
delete

disallow default constructor

◆ ISFParticle() [2/6]

ISF::ISFParticle::ISFParticle ( const Amg::Vector3D pos,
const Amg::Vector3D mom,
double  mass,
double  charge,
int  pdgCode,
int  status,
double  time,
const ISFParticle parent,
int  id,
int  barcode = HepMC::UNDEFINED_ID,
TruthBinding truth = nullptr,
const HepMcParticleLink partLink = nullptr 
)

use this constructor whenever possible

Definition at line 9 of file ISFParticle.cxx.

21  :
22  m_position(pos),
23  m_momentum(mom),
24  m_mass(mass),
28  m_tstamp(time),
29  m_history(parent.history()),
30  m_barcode(barcode), // TODO drop this soon
31  m_uid(id),
32  m_truth(truth),
34  m_userInfo(nullptr),
35  m_partLink(partLink)
36 {
37 
38 }

◆ ISFParticle() [3/6]

ISF::ISFParticle::ISFParticle ( const HepGeom::Point3D< double > &  pos,
const HepGeom::Vector3D< double > &  mom,
double  mass,
double  charge,
int  pdgCode,
int  status,
double  time,
const ISFParticle parent,
int  id,
int  barcode = HepMC::UNDEFINED_ID,
TruthBinding truth = nullptr,
const HepMcParticleLink partLink = nullptr 
)

CLHEP-compatible constructor.

Definition at line 40 of file ISFParticle.cxx.

52  :
53  m_position( pos.x(), pos.y(), pos.z()),
54  m_momentum( mom.x(), mom.y(), mom.z()),
55  m_mass(mass),
59  m_tstamp(time),
60  m_history(parent.history()),
61  m_barcode(barcode), // TODO drop this soon
62  m_uid(id),
63  m_truth(truth),
65  m_userInfo(nullptr),
66  m_partLink(partLink)
67 {
68 
69 }

◆ ISFParticle() [4/6]

ISF::ISFParticle::ISFParticle ( const Amg::Vector3D pos,
const Amg::Vector3D mom,
double  mass,
double  charge,
int  pdgCode,
int  status,
double  time,
const DetRegionSvcIDPair origin,
int  id,
int  barcode = HepMC::UNDEFINED_ID,
TruthBinding truth = nullptr,
const HepMcParticleLink partLink = nullptr 
)

this constructor should only be used for event read-in

Definition at line 71 of file ISFParticle.cxx.

83  :
84  m_position(pos),
85  m_momentum(mom),
86  m_mass(mass),
90  m_tstamp(time),
91  m_history(1, origin),
92  m_barcode(barcode), // TODO drop this soon
93  m_uid(id),
94  m_truth(truth),
96  m_userInfo(nullptr),
97  m_partLink(partLink)
98 {
99 
100 }

◆ ISFParticle() [5/6]

ISF::ISFParticle::ISFParticle ( const ISFParticle isfp)

Copy constructor.

Definition at line 102 of file ISFParticle.cxx.

102  :
103  m_position(isfp.position()),
104  m_momentum(isfp.momentum()),
105  m_mass(isfp.mass()),
106  m_charge(isfp.charge()),
107  m_pdgCode(isfp.pdgCode()),
108  m_status(isfp.status()),
109  m_tstamp(isfp.timeStamp()),
110  m_history(isfp.history()),
111  m_barcode(isfp.barcode()), // TODO drop this soon
112  m_uid(isfp.id()),
113  m_truth(nullptr),
115  m_userInfo(nullptr)
116 {
117  const TruthBinding *truth = isfp.getTruthBinding();
118  if (truth) {
119  m_truth = new TruthBinding(*truth);
120  }
121  m_partLink = ((isfp.getParticleLink()) ? new HepMcParticleLink(*isfp.getParticleLink()) : nullptr);
122 }

◆ ISFParticle() [6/6]

ISF::ISFParticle::ISFParticle ( ISFParticle &&  isfp)

Move copy constructor.

Definition at line 124 of file ISFParticle.cxx.

124  :
125  m_position(isfp.position()),
126  m_momentum(isfp.momentum()),
127  m_mass(isfp.mass()),
128  m_charge(isfp.charge()),
129  m_pdgCode(isfp.pdgCode()),
130  m_status(isfp.status()),
131  m_tstamp(isfp.timeStamp()),
132  m_history(isfp.history()),
133  m_barcode(isfp.barcode()), // TODO drop this soon
134  m_uid(isfp.id()),
135  m_truth(isfp.getTruthBinding()),
136  m_order(isfp.getOrder()),
137  m_userInfo(isfp.getUserInformation()),
138  m_partLink(isfp.getParticleLink())
139 {
140 }

◆ ~ISFParticle()

ISF::ISFParticle::~ISFParticle ( )

Destructor.

Definition at line 142 of file ISFParticle.cxx.

142  {
143  delete m_truth;
144  delete m_userInfo;
145  if (m_partLink) delete m_partLink;
146 }

Member Function Documentation

◆ barcode()

int ISF::ISFParticle::barcode ( ) const

the barcode

◆ charge()

double ISF::ISFParticle::charge ( ) const

charge of the particle

◆ dump() [1/2]

MsgStream& ISF::ISFParticle::dump ( MsgStream &  out) const

Dump methods to be used by the overloaded stream operator (inheritance!)

◆ dump() [2/2]

std::ostream& ISF::ISFParticle::dump ( std::ostream &  out) const

◆ ekin()

double ISF::ISFParticle::ekin ( ) const

Kinetic energy.

◆ getOrder()

ParticleOrder ISF::ISFParticle::getOrder ( ) const

return the particle order (eg used to assure ID->Calo->MS simulation order)

◆ getParticleLink()

const HepMcParticleLink* ISF::ISFParticle::getParticleLink ( ) const
inline

HepMcParticleLink accessors.

Definition at line 172 of file ISFParticle.h.

172 {return m_partLink;};

◆ getTruthBinding() [1/2]

TruthBinding* ISF::ISFParticle::getTruthBinding ( )

◆ getTruthBinding() [2/2]

const TruthBinding* ISF::ISFParticle::getTruthBinding ( ) const

pointer to the simulation truth - optional, can be 0

◆ getUserInformation() [1/2]

ParticleUserInformation* ISF::ISFParticle::getUserInformation ( )

◆ getUserInformation() [2/2]

const ParticleUserInformation* ISF::ISFParticle::getUserInformation ( ) const

◆ history()

const ParticleHistory& ISF::ISFParticle::history ( ) const

the particle's full history

◆ id()

int ISF::ISFParticle::id ( ) const

unique ID

◆ isEqual()

bool ISF::ISFParticle::isEqual ( const ISFParticle rhs) const

Definition at line 208 of file ISFParticle.cxx.

209 {
210  double epsilon = 1e-6;
211 
212  bool pass = true;
213  pass &= m_position == rhs.position();
214  pass &= m_momentum == rhs.momentum();
215  pass &= std::fabs(m_mass-rhs.mass()) < epsilon;
216  pass &= std::fabs(m_charge-rhs.charge()) < epsilon;
217  pass &= m_pdgCode == rhs.pdgCode();
218  pass &= m_status == rhs.status();
219  pass &= std::fabs(m_tstamp-rhs.timeStamp()) < epsilon;
220  pass &= m_history == rhs.history();
221  pass &= m_barcode == rhs.barcode(); // TODO drop this soon
222  pass &= m_uid == rhs.id();
223  {
224  const auto rhsTruthPtr = rhs.getTruthBinding();
225  if (m_truth && rhsTruthPtr) {
226  pass &= *m_truth == *rhsTruthPtr;
227  } else {
228  pass &= m_truth == rhsTruthPtr; // must be both nullptr to pass
229  }
230  }
231 
232  {
233  const auto rhsUserInfoPtr = rhs.getUserInformation();
234  if (m_userInfo && rhsUserInfoPtr) {
235  pass &= *m_userInfo == *rhsUserInfoPtr;
236  } else {
237  pass &= m_userInfo == rhsUserInfoPtr; // must be both nullptr to pass
238  }
239  }
240 
241  {
242  const auto rhsPartLinkPtr = rhs.getParticleLink();
243  if(m_partLink && rhsPartLinkPtr) {
244  pass &= *m_partLink == *rhsPartLinkPtr;
245  } else {
246  pass &= m_partLink == rhsPartLinkPtr; // must be both nullptr to pass
247  }
248  }
249  return pass;
250 }

◆ isIdent()

bool ISF::ISFParticle::isIdent ( const ISFParticle rhs) const

Definition at line 252 of file ISFParticle.cxx.

253 {
254  bool pass = true;
255  pass &= m_position == rhs.position();
256  pass &= m_momentum == rhs.momentum();
257  pass &= m_mass == rhs.mass();
258  pass &= m_charge == rhs.charge();
259  pass &= m_pdgCode == rhs.pdgCode();
260  pass &= m_status == rhs.status();
261  pass &= m_tstamp == rhs.timeStamp();
262  pass &= m_history == rhs.history();
263  pass &= m_barcode == rhs.barcode(); // TODO drop this soon
264  pass &= m_uid == rhs.id();
265  pass &= m_truth && rhs.getTruthBinding();
266  pass &= m_userInfo == rhs.getUserInformation();
267  pass &= m_partLink == rhs.getParticleLink();
268  return pass;
269 }

◆ mass()

double ISF::ISFParticle::mass ( ) const

mass of the particle

◆ momentum()

const Amg::Vector3D& ISF::ISFParticle::momentum ( ) const

The current momentum vector of the ISFParticle.

◆ nextGeoID()

AtlasDetDescr::AtlasRegion ISF::ISFParticle::nextGeoID ( ) const

next geoID the particle will be simulated in

◆ nextSimID()

SimSvcID ISF::ISFParticle::nextSimID ( ) const

the next simulation service the particle will be sent to

◆ operator=() [1/2]

ISF::ISFParticle & ISF::ISFParticle::operator= ( const ISFParticle rhs)

Assignment operator.

Definition at line 149 of file ISFParticle.cxx.

150 {
151 
152  if (this != &rhs) {
153  m_position = rhs.position();
154  m_momentum = rhs.momentum();
155  m_mass = rhs.mass();
156  m_charge = rhs.charge();
157  m_pdgCode = rhs.pdgCode();
158  m_status = rhs.status();
159  m_tstamp = rhs.timeStamp();
160  m_history = rhs.history();
161  m_barcode = rhs.barcode(); // TODO drop this soon
162  m_uid = rhs.id();
163 
164  delete m_truth;
165  m_truth = nullptr;
166 
167  const TruthBinding *rhsTruth = rhs.getTruthBinding();
168  if (rhsTruth) {
169  m_truth = new TruthBinding(*rhsTruth);
170  }
171  m_partLink = ((rhs.getParticleLink()) ? new HepMcParticleLink(*rhs.getParticleLink()): nullptr);
172 
173  delete m_userInfo;
174  m_userInfo = nullptr;
175  }
176 
177  return *this;
178 }

◆ operator=() [2/2]

ISF::ISFParticle & ISF::ISFParticle::operator= ( ISF::ISFParticle &&  rhs)

Move assignment operator.

Definition at line 181 of file ISFParticle.cxx.

182 {
183  m_position = rhs.position();
184  m_momentum = rhs.momentum();
185  m_mass = rhs.mass();
186  m_charge = rhs.charge();
187  m_pdgCode = rhs.pdgCode();
188  m_status = rhs.status();
189  m_tstamp = rhs.timeStamp();
190  m_history = rhs.history();
191  m_barcode = rhs.barcode(); // TODO drop this soon
192  m_uid = rhs.id();
193  delete m_truth;
194  m_truth = rhs.getTruthBinding();
195  delete m_userInfo;
197  if (m_partLink) delete m_partLink;
198  m_partLink = rhs.getParticleLink();
199 
200  return *this;
201 }

◆ operator==()

bool ISF::ISFParticle::operator== ( const ISFParticle rhs) const

Comparisons.

Definition at line 203 of file ISFParticle.cxx.

204 {
205  return isEqual(rhs);
206 }

◆ originGeoID()

AtlasDetDescr::AtlasRegion ISF::ISFParticle::originGeoID ( ) const

the sub-detector ID the particle's originates from

◆ originSimID()

SimSvcID ISF::ISFParticle::originSimID ( ) const

the simulation service the particle originates from

◆ pdgCode()

int ISF::ISFParticle::pdgCode ( ) const

PDG value.

◆ position()

const Amg::Vector3D& ISF::ISFParticle::position ( ) const

The current position of the ISFParticle.

◆ prevGeoID()

AtlasDetDescr::AtlasRegion ISF::ISFParticle::prevGeoID ( ) const

previous geoID that the particle was simulated in

◆ prevSimID()

SimSvcID ISF::ISFParticle::prevSimID ( ) const

the simulation service that previously treated this particle

◆ setBarcode()

void ISF::ISFParticle::setBarcode ( int  bc)

set a new barcode

◆ setId()

void ISF::ISFParticle::setId ( int  id)

set a new unique ID

◆ setNextGeoID()

void ISF::ISFParticle::setNextGeoID ( AtlasDetDescr::AtlasRegion  geoID)

register the next AtlasDetDescr::AtlasRegion

◆ setNextSimID()

void ISF::ISFParticle::setNextSimID ( SimSvcID  simID)

register the next SimSvcID

◆ setOrder()

void ISF::ISFParticle::setOrder ( ParticleOrder  order)

◆ setParticleLink()

void ISF::ISFParticle::setParticleLink ( const HepMcParticleLink partLink)
inline

Definition at line 173 of file ISFParticle.h.

173 {m_partLink=partLink;};

◆ setStatus()

void ISF::ISFParticle::setStatus ( int  a)
inline

Definition at line 188 of file ISFParticle.h.

188 { m_status=a; }

◆ setTruthBinding()

void ISF::ISFParticle::setTruthBinding ( TruthBinding truth)

◆ setUserInformation()

void ISF::ISFParticle::setUserInformation ( ParticleUserInformation userInfo)

◆ status()

int ISF::ISFParticle::status ( ) const
inline

Definition at line 189 of file ISFParticle.h.

189 { return m_status;}

◆ timeStamp()

double ISF::ISFParticle::timeStamp ( ) const

Timestamp of the ISFParticle.

◆ updateMomentum()

void ISF::ISFParticle::updateMomentum ( const Amg::Vector3D momentum)

Update the momentum of the ISFParticle.

◆ updatePosition()

void ISF::ISFParticle::updatePosition ( const Amg::Vector3D position)

Update the position of the ISFParticle.

Member Data Documentation

◆ m_barcode

int ISF::ISFParticle::m_barcode
private

barcode TODO remove in favour of m_status + m_uid

Definition at line 200 of file ISFParticle.h.

◆ m_charge

double ISF::ISFParticle::m_charge
private

Definition at line 195 of file ISFParticle.h.

◆ m_history

ParticleHistory ISF::ISFParticle::m_history
private

Definition at line 199 of file ISFParticle.h.

◆ m_mass

double ISF::ISFParticle::m_mass
private

Definition at line 194 of file ISFParticle.h.

◆ m_momentum

Amg::Vector3D ISF::ISFParticle::m_momentum
private

Definition at line 193 of file ISFParticle.h.

◆ m_order

ParticleOrder ISF::ISFParticle::m_order
private

particle simulation order

Definition at line 203 of file ISFParticle.h.

◆ m_partLink

const HepMcParticleLink* ISF::ISFParticle::m_partLink
private

Definition at line 205 of file ISFParticle.h.

◆ m_pdgCode

int ISF::ISFParticle::m_pdgCode
private

Definition at line 196 of file ISFParticle.h.

◆ m_position

Amg::Vector3D ISF::ISFParticle::m_position
private

Definition at line 192 of file ISFParticle.h.

◆ m_status

int ISF::ISFParticle::m_status
private

Definition at line 197 of file ISFParticle.h.

◆ m_truth

TruthBinding* ISF::ISFParticle::m_truth
private

< unique ID

Definition at line 202 of file ISFParticle.h.

◆ m_tstamp

double ISF::ISFParticle::m_tstamp
private

Definition at line 198 of file ISFParticle.h.

◆ m_uid

int ISF::ISFParticle::m_uid
private

Definition at line 201 of file ISFParticle.h.

◆ m_userInfo

ParticleUserInformation* ISF::ISFParticle::m_userInfo
private

user information stored with the ISFParticle

Definition at line 204 of file ISFParticle.h.


The documentation for this class was generated from the following files:
AllowedVariables::e
e
Definition: AsgElectronSelectorTool.cxx:37
ISF::ISFParticle::m_pdgCode
int m_pdgCode
Definition: ISFParticle.h:196
ISF::ISFParticle::m_position
Amg::Vector3D m_position
Definition: ISFParticle.h:192
ISF::ISFParticle::m_charge
double m_charge
Definition: ISFParticle.h:195
ISF::ISFParticle::isEqual
bool isEqual(const ISFParticle &rhs) const
Definition: ISFParticle.cxx:208
ISF::ISFParticle::m_momentum
Amg::Vector3D m_momentum
Definition: ISFParticle.h:193
ISF::ISFParticle::m_uid
int m_uid
Definition: ISFParticle.h:201
ISF::ISFParticle::m_userInfo
ParticleUserInformation * m_userInfo
user information stored with the ISFParticle
Definition: ISFParticle.h:204
ISF::ISFParticle::m_partLink
const HepMcParticleLink * m_partLink
Definition: ISFParticle.h:205
ISF::ISFParticle::m_history
ParticleHistory m_history
Definition: ISFParticle.h:199
ISF::ISFParticle::pdgCode
int pdgCode() const
PDG value.
ISF::ISFParticle::m_status
int m_status
Definition: ISFParticle.h:197
ISF::ISFParticle::m_barcode
int m_barcode
barcode TODO remove in favour of m_status + m_uid
Definition: ISFParticle.h:200
ISF::ISFParticle::id
int id() const
unique ID
ISF::ISFParticle::barcode
int barcode() const
the barcode
ISF::ISFParticle::position
const Amg::Vector3D & position() const
The current position of the ISFParticle.
ISF::ISFParticle::m_order
ParticleOrder m_order
particle simulation order
Definition: ISFParticle.h:203
ISF::ISFParticle::m_truth
TruthBinding * m_truth
< unique ID
Definition: ISFParticle.h:202
ParticleGun_EoverP_Config.mom
mom
Definition: ParticleGun_EoverP_Config.py:63
ISF::ISFParticle::m_mass
double m_mass
Definition: ISFParticle.h:194
ISF::ISFParticle::m_tstamp
double m_tstamp
Definition: ISFParticle.h:198
test_pyathena.parent
parent
Definition: test_pyathena.py:15
ISF::ISFParticle::timeStamp
double timeStamp() const
Timestamp of the ISFParticle.
ISF::ISFParticle::momentum
const Amg::Vector3D & momentum() const
The current momentum vector of the ISFParticle.
ISF::ISFParticle::charge
double charge() const
charge of the particle
ISF::ISFParticle::history
const ParticleHistory & history() const
the particle's full history
python.LumiBlobConversion.pos
pos
Definition: LumiBlobConversion.py:18
ISF::ISFParticle::getParticleLink
const HepMcParticleLink * getParticleLink() const
HepMcParticleLink accessors.
Definition: ISFParticle.h:172
ISF::DefaultParticleOrder
const ParticleOrder DefaultParticleOrder
Definition: ParticleOrder.h:17
a
TList * a
Definition: liststreamerinfos.cxx:10
ISF::ISFParticle::status
int status() const
Definition: ISFParticle.h:189
ISF::ISFParticle::getUserInformation
const ParticleUserInformation * getUserInformation() const
get/set ParticleUserInformation
ISF::ISFParticle::getTruthBinding
const TruthBinding * getTruthBinding() const
pointer to the simulation truth - optional, can be 0
ISF::ISFParticle::mass
double mass() const
mass of the particle