Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Fatras::Test::Particle Struct Reference

Particle for testing acts-fatras core functionality. More...

#include <acts-fatras/blob/master/Tests/Common/Particle.hpp>

Public Member Functions

 Particle ()=default
 Default.
 
 Particle (const Acts::Vector3D &position, const Acts::Vector3D &momentum, double m, double q, pdg_type pdg=0, barcode_type barcode=0, double startTime=0.)
 Construct a particle consistently.
 
void setLimits (double x0Limit, double l0Limit, double timeLimit=std::numeric_limits< double >::max())
 Set the limits.
 
void scatter (Acts::Vector3D nmomentum)
 Update the particle with applying energy loss.
 
void energyLoss (double deltaE)
 Update the particle with applying energy loss.
 
bool update (const Acts::Vector3D &position, const Acts::Vector3D &momentum, double deltaPahtX0=0., double deltaPahtL0=0., double deltaTime=0.)
 Update the particle with a new position and momentum, this corresponds to a step update.
 
const Acts::Vector3D & position () const
 Access methods: position.
 
const Acts::Vector3D & momentum () const
 Access methods: momentum.
 
const double p () const
 Access methods: p.
 
const double pT () const
 Access methods: pT.
 
const double E () const
 Access methods: E.
 
const double m () const
 Access methods: m.
 
const double beta () const
 Access methods: beta.
 
const double gamma () const
 Access methods: gamma.
 
const double q () const
 Access methods: charge.
 
const pdg_type pdg () const
 Access methods: pdg code.
 
const barcode_type barcode () const
 Access methods: barcode.
 
const double pathInX0 () const
 Access methods: path/X0.
 
const double limitInX0 () const
 Access methods: limit/X0.
 
const double pathInL0 () const
 Access methods: pdg code.
 
const double limitInL0 () const
 Access methods: barcode.
 
 operator bool ()
 boolean operator indicating the particle to be alive
 

Private Attributes

Acts::Vector3D m_position = Acts::Vector3D(0., 0., 0.)
 kinematic info
 
Acts::Vector3D m_momentum = Acts::Vector3D(0., 0., 0.)
 kinematic info
 
double m_m = 0.
 particle mass
 
double m_E = 0.
 total energy
 
double m_q = 0.
 the charge
 
double m_beta = 0.
 relativistic beta factor
 
double m_gamma = 1.
 relativistic gamma factor
 
double m_p = 0.
 momentum magnitude
 
double m_pT = 0.
 transverse momentum magnitude
 
pdg_type m_pdg = 0
 pdg code of the particle
 
barcode_type m_barcode = 0
 barcode of the particle
 
double m_pathInX0 = 0.
 passed path in X0
 
double m_limitInX0 = std::numeric_limits<double>::max()
 path limit in X0
 
double m_pathInL0 = 0.
 passed path in L0
 
double m_limitInL0 = std::numeric_limits<double>::max()
 path limit in X0
 
double m_timeStamp = 0.
 passed time elapsed
 
double m_timeLimit = std::numeric_limits<double>::max()
 
bool m_alive = true
 the particle is alive
 

Detailed Description

Particle for testing acts-fatras core functionality.

Definition at line 32 of file Particle.hpp.

View newest version in sPHENIX GitHub at line 32 of file Particle.hpp

Constructor & Destructor Documentation

Fatras::Test::Particle::Particle ( )
default

Default.

Fatras::Test::Particle::Particle ( const Acts::Vector3D &  position,
const Acts::Vector3D &  momentum,
double  m,
double  q,
pdg_type  pdg = 0,
barcode_type  barcode = 0,
double  startTime = 0. 
)
inline

Construct a particle consistently.

Parameters
ppositionThe particle position at construction
pmomentumThe particle momentum at construction
pmThe particle mass
pqThe partilce charge
pbarcodeThe particle barcode

Definition at line 45 of file Particle.hpp.

View newest version in sPHENIX GitHub at line 45 of file Particle.hpp

References m_beta, m_E, m_gamma, m_m, and m_p.

Member Function Documentation

const barcode_type Fatras::Test::Particle::barcode ( ) const
inline

Access methods: barcode.

Definition at line 165 of file Particle.hpp.

View newest version in sPHENIX GitHub at line 165 of file Particle.hpp

References m_barcode.

const double Fatras::Test::Particle::beta ( ) const
inline

Access methods: beta.

Definition at line 153 of file Particle.hpp.

View newest version in sPHENIX GitHub at line 153 of file Particle.hpp

References m_beta.

Referenced by airy2(), airy2d(), dokinematics(), genevent(), getqvec(), py4jet(), py6frm(), pyadsh(), pyapps(), pycjdc(), pygaga(), pygbeh(), pyhext(), pyinom(), pymihk(), pymsin(), pynjdc(), pyprep(), pysfdc(), pythrg(), and pywidt().

+ Here is the caller graph for this function:

const double Fatras::Test::Particle::E ( ) const
inline

Access methods: E.

Definition at line 147 of file Particle.hpp.

View newest version in sPHENIX GitHub at line 147 of file Particle.hpp

References m_E.

Referenced by Fatras::Test::BOOST_DATA_TEST_CASE().

+ Here is the caller graph for this function:

void Fatras::Test::Particle::energyLoss ( double  deltaE)
inline

Update the particle with applying energy loss.

Parameters
deltaEis the energy loss to be applied

Definition at line 79 of file Particle.hpp.

View newest version in sPHENIX GitHub at line 79 of file Particle.hpp

References m_alive, m_beta, m_E, m_gamma, m_m, m_momentum, m_p, m_pT, and Acts::VectorHelpers::perp().

+ Here is the call graph for this function:

const double Fatras::Test::Particle::gamma ( ) const
inline

Access methods: gamma.

Definition at line 156 of file Particle.hpp.

View newest version in sPHENIX GitHub at line 156 of file Particle.hpp

References m_gamma.

Referenced by pyveto().

+ Here is the caller graph for this function:

const double Fatras::Test::Particle::limitInL0 ( ) const
inline

Access methods: barcode.

Definition at line 177 of file Particle.hpp.

View newest version in sPHENIX GitHub at line 177 of file Particle.hpp

References m_limitInL0.

const double Fatras::Test::Particle::limitInX0 ( ) const
inline

Access methods: limit/X0.

Definition at line 171 of file Particle.hpp.

View newest version in sPHENIX GitHub at line 171 of file Particle.hpp

References m_limitInX0.

const double Fatras::Test::Particle::m ( ) const
inline

Access methods: m.

Definition at line 150 of file Particle.hpp.

View newest version in sPHENIX GitHub at line 150 of file Particle.hpp

References m_m.

Referenced by Fatras::Test::BOOST_DATA_TEST_CASE().

+ Here is the caller graph for this function:

const Acts::Vector3D& Fatras::Test::Particle::momentum ( ) const
inline

Access methods: momentum.

Definition at line 138 of file Particle.hpp.

View newest version in sPHENIX GitHub at line 138 of file Particle.hpp

References m_momentum.

Referenced by Fatras::Test::BOOST_DATA_TEST_CASE(), and update().

+ Here is the caller graph for this function:

Fatras::Test::Particle::operator bool ( )
inline

boolean operator indicating the particle to be alive

Definition at line 180 of file Particle.hpp.

View newest version in sPHENIX GitHub at line 180 of file Particle.hpp

References m_alive.

const double Fatras::Test::Particle::p ( ) const
inline

Access methods: p.

Definition at line 141 of file Particle.hpp.

View newest version in sPHENIX GitHub at line 141 of file Particle.hpp

References m_p.

Referenced by Fatras::Test::BOOST_DATA_TEST_CASE().

+ Here is the caller graph for this function:

const double Fatras::Test::Particle::pathInL0 ( ) const
inline

Access methods: pdg code.

Definition at line 174 of file Particle.hpp.

View newest version in sPHENIX GitHub at line 174 of file Particle.hpp

References m_limitInX0.

const double Fatras::Test::Particle::pathInX0 ( ) const
inline

Access methods: path/X0.

Definition at line 168 of file Particle.hpp.

View newest version in sPHENIX GitHub at line 168 of file Particle.hpp

References m_pathInX0.

const pdg_type Fatras::Test::Particle::pdg ( ) const
inline

Access methods: pdg code.

Definition at line 162 of file Particle.hpp.

View newest version in sPHENIX GitHub at line 162 of file Particle.hpp

References m_pdg.

Referenced by Fatras::Test::BOOST_DATA_TEST_CASE().

+ Here is the caller graph for this function:

const Acts::Vector3D& Fatras::Test::Particle::position ( ) const
inline

Access methods: position.

Definition at line 135 of file Particle.hpp.

View newest version in sPHENIX GitHub at line 135 of file Particle.hpp

References m_position.

Referenced by update().

+ Here is the caller graph for this function:

const double Fatras::Test::Particle::pT ( ) const
inline

Access methods: pT.

Definition at line 144 of file Particle.hpp.

View newest version in sPHENIX GitHub at line 144 of file Particle.hpp

References m_pT.

const double Fatras::Test::Particle::q ( ) const
inline

Access methods: charge.

Definition at line 159 of file Particle.hpp.

View newest version in sPHENIX GitHub at line 159 of file Particle.hpp

References m_q.

Referenced by doinstatescat(), fg(), fgp(), getinsudared(), getpdf(), getpdfxint(), getpdfxintexact(), insudaint(), intpgghigh(), intpgglow(), intpqghigh(), intpqglow(), intpqq(), makebranch(), pyct5l(), pyct5m(), pycteq(), pyfeyn(), pyhistfe(), pymirm(), pyreco(), pyslha(), and splitfncint().

+ Here is the caller graph for this function:

void Fatras::Test::Particle::scatter ( Acts::Vector3D  nmomentum)
inline

Update the particle with applying energy loss.

Parameters
deltaEis the energy loss to be applied

Definition at line 71 of file Particle.hpp.

View newest version in sPHENIX GitHub at line 71 of file Particle.hpp

References m_momentum, m_pT, testing::internal::move(), and Acts::VectorHelpers::perp().

+ Here is the call graph for this function:

void Fatras::Test::Particle::setLimits ( double  x0Limit,
double  l0Limit,
double  timeLimit = std::numeric_limits<double>::max() 
)
inline

Set the limits.

Parameters
x0Limitthe limit in X0 to be passed
l0Limitthe limit in L0 to be passed
timeLimitthe readout time limit to be passed

Definition at line 61 of file Particle.hpp.

View newest version in sPHENIX GitHub at line 61 of file Particle.hpp

References m_limitInL0, m_limitInX0, and m_timeLimit.

bool Fatras::Test::Particle::update ( const Acts::Vector3D &  position,
const Acts::Vector3D &  momentum,
double  deltaPahtX0 = 0.,
double  deltaPahtL0 = 0.,
double  deltaTime = 0. 
)
inline

Update the particle with a new position and momentum, this corresponds to a step update.

Parameters
positionNew position after update
momentumNew momentum after update
deltaPathX0passed since last step
deltaPathL0passed since last step
deltaTimeThe time elapsed
Returns
break condition

Definition at line 109 of file Particle.hpp.

View newest version in sPHENIX GitHub at line 109 of file Particle.hpp

References m_alive, m_beta, m_E, m_gamma, m_limitInL0, m_limitInX0, m_m, m_momentum, m_p, m_pathInL0, m_pathInX0, m_position, m_pT, m_timeLimit, m_timeStamp, momentum(), Acts::VectorHelpers::perp(), and position().

+ Here is the call graph for this function:

Member Data Documentation

bool Fatras::Test::Particle::m_alive = true
private

the particle is alive

Definition at line 205 of file Particle.hpp.

View newest version in sPHENIX GitHub at line 205 of file Particle.hpp

Referenced by energyLoss(), operator bool(), and update().

barcode_type Fatras::Test::Particle::m_barcode = 0
private

barcode of the particle

Definition at line 194 of file Particle.hpp.

View newest version in sPHENIX GitHub at line 194 of file Particle.hpp

Referenced by barcode().

double Fatras::Test::Particle::m_beta = 0.
private

relativistic beta factor

Definition at line 189 of file Particle.hpp.

View newest version in sPHENIX GitHub at line 189 of file Particle.hpp

Referenced by beta(), energyLoss(), Particle(), and update().

double Fatras::Test::Particle::m_E = 0.
private

total energy

Definition at line 187 of file Particle.hpp.

View newest version in sPHENIX GitHub at line 187 of file Particle.hpp

Referenced by E(), energyLoss(), Particle(), and update().

double Fatras::Test::Particle::m_gamma = 1.
private

relativistic gamma factor

Definition at line 190 of file Particle.hpp.

View newest version in sPHENIX GitHub at line 190 of file Particle.hpp

Referenced by energyLoss(), gamma(), Particle(), and update().

double Fatras::Test::Particle::m_limitInL0 = std::numeric_limits<double>::max()
private

path limit in X0

Definition at line 200 of file Particle.hpp.

View newest version in sPHENIX GitHub at line 200 of file Particle.hpp

Referenced by limitInL0(), setLimits(), and update().

double Fatras::Test::Particle::m_limitInX0 = std::numeric_limits<double>::max()
private

path limit in X0

Definition at line 197 of file Particle.hpp.

View newest version in sPHENIX GitHub at line 197 of file Particle.hpp

Referenced by limitInX0(), pathInL0(), setLimits(), and update().

double Fatras::Test::Particle::m_m = 0.
private

particle mass

Definition at line 186 of file Particle.hpp.

View newest version in sPHENIX GitHub at line 186 of file Particle.hpp

Referenced by energyLoss(), m(), Particle(), and update().

Acts::Vector3D Fatras::Test::Particle::m_momentum = Acts::Vector3D(0., 0., 0.)
private

kinematic info

Definition at line 184 of file Particle.hpp.

View newest version in sPHENIX GitHub at line 184 of file Particle.hpp

Referenced by energyLoss(), momentum(), scatter(), and update().

double Fatras::Test::Particle::m_p = 0.
private

momentum magnitude

Definition at line 191 of file Particle.hpp.

View newest version in sPHENIX GitHub at line 191 of file Particle.hpp

Referenced by energyLoss(), p(), Particle(), and update().

double Fatras::Test::Particle::m_pathInL0 = 0.
private

passed path in L0

Definition at line 199 of file Particle.hpp.

View newest version in sPHENIX GitHub at line 199 of file Particle.hpp

Referenced by update().

double Fatras::Test::Particle::m_pathInX0 = 0.
private

passed path in X0

Definition at line 196 of file Particle.hpp.

View newest version in sPHENIX GitHub at line 196 of file Particle.hpp

Referenced by pathInX0(), and update().

pdg_type Fatras::Test::Particle::m_pdg = 0
private

pdg code of the particle

Definition at line 193 of file Particle.hpp.

View newest version in sPHENIX GitHub at line 193 of file Particle.hpp

Referenced by pdg().

Acts::Vector3D Fatras::Test::Particle::m_position = Acts::Vector3D(0., 0., 0.)
private

kinematic info

Definition at line 183 of file Particle.hpp.

View newest version in sPHENIX GitHub at line 183 of file Particle.hpp

Referenced by position(), and update().

double Fatras::Test::Particle::m_pT = 0.
private

transverse momentum magnitude

Definition at line 192 of file Particle.hpp.

View newest version in sPHENIX GitHub at line 192 of file Particle.hpp

Referenced by energyLoss(), pT(), scatter(), and update().

double Fatras::Test::Particle::m_q = 0.
private

the charge

Definition at line 188 of file Particle.hpp.

View newest version in sPHENIX GitHub at line 188 of file Particle.hpp

Referenced by q().

double Fatras::Test::Particle::m_timeLimit = std::numeric_limits<double>::max()
private

Definition at line 203 of file Particle.hpp.

View newest version in sPHENIX GitHub at line 203 of file Particle.hpp

Referenced by setLimits(), and update().

double Fatras::Test::Particle::m_timeStamp = 0.
private

passed time elapsed

Definition at line 202 of file Particle.hpp.

View newest version in sPHENIX GitHub at line 202 of file Particle.hpp

Referenced by update().


The documentation for this struct was generated from the following file: