ATLAS Offline Software
Loading...
Searching...
No Matches
ISF::ParticleUserInformation Class Reference

Each ISFParticle carries a pointer to this class. More...

#include <ParticleUserInformation.h>

Collaboration diagram for ISF::ParticleUserInformation:

Public Member Functions

 ParticleUserInformation ()
 empty constructor
virtual ~ParticleUserInformation ()=default
 virtual destructor
int getExtraBC () const
int process () const
int generation () const
const MaterialPathInfo * materialLimit () const
void setExtraBC (int extrabc)
void setProcess (int proc)
void setGeneration (int gen)
void setMaterialLimit (int process, float x0lim, float x0coll)
bool operator== (const ParticleUserInformation &rhs) const
 Comparison.

Private Attributes

int m_process
int m_generation
std::unique_ptr< MaterialPathInfo > m_matInfo

Detailed Description

Each ISFParticle carries a pointer to this class.

For MC production, the pointer will normally be 0. For validation jobs a ParticleUserInformation instance may be attached to the ISFParticles. 2015-05-12 (S.Todorova) extended to carry presampled interaction/traversed material info for Fatras

Author
Elmar.nosp@m..Rit.nosp@m.sch@c.nosp@m.ern..nosp@m.ch

Definition at line 53 of file ParticleUserInformation.h.

Constructor & Destructor Documentation

◆ ParticleUserInformation()

ISF::ParticleUserInformation::ParticleUserInformation ( )

empty constructor

constructor

Definition at line 13 of file ParticleUserInformation.cxx.

◆ ~ParticleUserInformation()

virtual ISF::ParticleUserInformation::~ParticleUserInformation ( )
virtualdefault

virtual destructor

Member Function Documentation

◆ generation()

int ISF::ParticleUserInformation::generation ( ) const
inline

Definition at line 87 of file ParticleUserInformation.h.

87{ return m_generation; }

◆ getExtraBC()

int ISF::ParticleUserInformation::getExtraBC ( ) const

◆ materialLimit()

const ISF::MaterialPathInfo * ISF::ParticleUserInformation::materialLimit ( ) const
inline

Definition at line 89 of file ParticleUserInformation.h.

89{ return m_matInfo.get(); }
std::unique_ptr< MaterialPathInfo > m_matInfo

◆ operator==()

bool ISF::ParticleUserInformation::operator== ( const ParticleUserInformation & rhs) const

Comparison.

Definition at line 19 of file ParticleUserInformation.cxx.

20{
21 bool pass = true;
22 pass &= m_process == rhs.process();
23 pass &= m_generation == rhs.generation();
24
25 {
26 const auto rhsMatPtr = rhs.materialLimit();
27 if (m_matInfo && rhsMatPtr) {
28 pass &= *m_matInfo == *rhsMatPtr;
29 } else {
30 pass &= m_matInfo.get() == rhsMatPtr; // must be both nullptr to pass
31 }
32 }
33 return pass;
34}

◆ process()

int ISF::ParticleUserInformation::process ( ) const
inline

Definition at line 85 of file ParticleUserInformation.h.

85{ return m_process; }

◆ setExtraBC()

void ISF::ParticleUserInformation::setExtraBC ( int extrabc)

◆ setGeneration()

void ISF::ParticleUserInformation::setGeneration ( int gen)
inline

Definition at line 93 of file ParticleUserInformation.h.

93{ m_generation = gen; }

◆ setMaterialLimit()

void ISF::ParticleUserInformation::setMaterialLimit ( int process,
float x0lim,
float x0coll )
inline

Definition at line 95 of file ParticleUserInformation.h.

96{ m_matInfo = std::make_unique<ISF::MaterialPathInfo>(proc,dMax,d); }

◆ setProcess()

void ISF::ParticleUserInformation::setProcess ( int proc)
inline

Definition at line 91 of file ParticleUserInformation.h.

Member Data Documentation

◆ m_generation

int ISF::ParticleUserInformation::m_generation
private

Definition at line 78 of file ParticleUserInformation.h.

◆ m_matInfo

std::unique_ptr<MaterialPathInfo> ISF::ParticleUserInformation::m_matInfo
private

Definition at line 80 of file ParticleUserInformation.h.

◆ m_process

int ISF::ParticleUserInformation::m_process
private

Definition at line 77 of file ParticleUserInformation.h.


The documentation for this class was generated from the following files: