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 MaterialPathInfomaterialLimit () 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< MaterialPathInfom_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: