Project
Loading...
Searching...
No Matches
o2::steer::O2MCApplicationBase Class Reference

#include <O2MCApplicationBase.h>

Inherits FairMCApplication.

Inherited by o2::steer::O2MCApplication, and o2::steer::O2MCApplicationEvalMat.

Public Types

typedef std::function< void(TVirtualMC const *)> TrackRefFcn
 
typedef std::function< bool(TVirtualMC const *)> KeepStepFcn
 

Public Member Functions

 O2MCApplicationBase ()
 
 O2MCApplicationBase (const char *name, const char *title, TObjArray *ModList, const char *MatName)
 
 O2MCApplicationBase (const O2MCApplicationBase &rhs)
 copy for a worker thread of multithreaded Geant4; the macro hooks are copied, not compiled again
 
 ~O2MCApplicationBase () override=default
 
void Stepping () override
 
void PreTrack () override
 
void BeginEvent () override
 
void FinishEvent () override
 
void ConstructGeometry () override
 
void InitGeometry () override
 
bool MisalignGeometry () override
 
void AddParticles () override
 
double TrackingRmax () const override
 
double TrackingZmax () const override
 
void fixTGeoRuntimeShapes ()
 
- Public Member Functions inherited from FairMCApplication
 FairMCApplication (const char *name, const char *title, TObjArray *ModList, const char *MatName)
 
 FairMCApplication ()
 
virtual ~FairMCApplication ()
 
virtual void AddDecayModes ()
 
virtual void AddIons ()
 
void AddTask (TTask *fTask)
 
virtual void BeginPrimary ()
 
virtual void ConstructOpGeometry ()
 
virtual void FinishPrimary ()
 
void FinishRun ()
 
virtual void GeneratePrimaries ()
 
FairDetector * GetDetector (const char *DetName)
 
FairField * GetField ()
 
FairPrimaryGenerator * GetGenerator ()
 
TTask * GetListOfTasks ()
 
FairGenericStack * GetStack ()
 
TChain * GetChain ()
 
void InitMC (const char *setup, const char *cuts)
 
void InitTasks ()
 
virtual void PostTrack ()
 
virtual TVirtualMCApplication * CloneForWorker () const
 
virtual void InitOnWorker ()
 
virtual void FinishRunOnWorker ()
 
void RunMC (Int_t nofEvents)
 
void SetField (FairField *field)
 
void SetGenerator (FairPrimaryGenerator *fxGenerator)
 
void SetParTask ()
 
void SetPythiaDecayer (Bool_t decayer)
 
void SetPythiaDecayerConfig (const TString decayerConf)
 
void SetRadiationLengthReg (Bool_t RadLen)
 
void SetRadiationMapReg (Bool_t RadMap)
 
void SetTrackingDebugMode (Bool_t set)
 
void SetUserDecay (Bool_t decay)
 
void SetUserDecayConfig (const TString decayerConf)
 
virtual void StopRun ()
 
virtual void StopMCRun ()
 
void AddMeshList (TObjArray *meshList)
 
void SetSaveCurrentEvent (Bool_t set)
 
FairMCApplicationState GetState () const
 

Protected Member Functions

bool seedsInPreTrack () const
 
void finishEventCommon ()
 some common parts of finishEvent
 
void initTrackRefHook ()
 
void initStepFilterHook ()
 
 ClassDefOverride (O2MCApplicationBase, 1)
 
- Protected Member Functions inherited from FairMCApplication
 ClassDef (FairMCApplication, 4)
 
 FairMCApplication (const FairMCApplication &)
 
Bool_t IsMasterApplication () const
 
FairModule * OwnModule (FairModule *module) const
 

Protected Attributes

o2::conf::SimCutParams const & mCutParams
 
unsigned long long mStepCounter {0}
 
std::map< int, std::string > mModIdToName {}
 
std::map< int, std::string > mSensitiveVolumes {}
 
double mLongestTrackTime = 0
 
bool mTrackSeedWarned {false}
 
TrackRefFcn mTrackRefFcn
 
KeepStepFcn mKeepStepFcn
 
bool mHasStepFilterMacro = false
 
- Protected Attributes inherited from FairMCApplication
TRefArray * fActiveDetectors
 
FairTask * fFairTaskList
 
TRefArray * fDetectors
 
TRefArray * fDetMap
 
TIterator * fModIter
 
TObjArray * fModules
 
Int_t fNoSenVolumes
 
Bool_t fPythiaDecayer
 
TString fPythiaDecayerConfig
 
FairGenericStack * fStack
 
FairRootManager * fRootManager
 
TRefArray * fSenVolumes
 
FairField * fxField
 
FairPrimaryGenerator * fEvGen
 
Int_t fMcVersion
 
FairTrajFilter * fTrajFilter
 
Bool_t fTrajAccepted
 
Bool_t fUserDecay
 
TString fUserDecayConfig
 
Bool_t fDebug
 
FairVolume * fDisVol
 
FairDetector * fDisDet
 
std::multimap< Int_t, FairVolume * > fVolMap
 
std::multimap< Int_t, FairVolume * >::iterator fVolIter
 
std::map< Int_t, Int_t > fModVolMap
 
std::map< Int_t, Int_t >::iterator fModVolIter
 
TLorentzVector fTrkPos
 
Bool_t fRadLength
 
FairRadLenManager * fRadLenMan
 
Bool_t fRadMap
 
FairRadMapManager * fRadMapMan
 
FairRadGridManager * fRadGridMan
 
FairEventHeader * fEventHeader
 
FairMCEventHeader * fMCEventHeader
 
std::list< FairDetector * > listActiveDetectors
 
std::list< FairDetector * > listDetectors
 
TVirtualMC * fMC
 
FairRunSim * fRun
 
Bool_t fSaveCurrentEvent
 
FairMCApplicationState fState
 

Additional Inherited Members

- Static Public Member Functions inherited from FairMCApplication
static FairMCApplication * Instance ()
 

Detailed Description

Definition at line 35 of file O2MCApplicationBase.h.

Member Typedef Documentation

◆ KeepStepFcn

Definition at line 76 of file O2MCApplicationBase.h.

◆ TrackRefFcn

Definition at line 75 of file O2MCApplicationBase.h.

Constructor & Destructor Documentation

◆ O2MCApplicationBase() [1/3]

o2::steer::O2MCApplicationBase::O2MCApplicationBase ( )
inline

Definition at line 38 of file O2MCApplicationBase.h.

◆ O2MCApplicationBase() [2/3]

o2::steer::O2MCApplicationBase::O2MCApplicationBase ( const char *  name,
const char *  title,
TObjArray *  ModList,
const char *  MatName 
)
inline

Definition at line 43 of file O2MCApplicationBase.h.

◆ O2MCApplicationBase() [3/3]

o2::steer::O2MCApplicationBase::O2MCApplicationBase ( const O2MCApplicationBase &  rhs)
inline

copy for a worker thread of multithreaded Geant4; the macro hooks are copied, not compiled again

Definition at line 50 of file O2MCApplicationBase.h.

◆ ~O2MCApplicationBase()

o2::steer::O2MCApplicationBase::~O2MCApplicationBase ( )
overridedefault

Member Function Documentation

◆ AddParticles()

void o2::steer::O2MCApplicationBase::AddParticles ( )
overridevirtual

Add user defined particles (optional)

Reimplemented from FairMCApplication.

Definition at line 1816 of file O2MCApplication.cxx.

◆ BeginEvent()

void o2::steer::O2MCApplicationBase::BeginEvent ( )
overridevirtual

Define actions at the beginning of the event

Reimplemented from FairMCApplication.

Reimplemented in o2::steer::O2MCApplicationEvalMat.

Definition at line 479 of file O2MCApplication.cxx.

◆ ClassDefOverride()

o2::steer::O2MCApplicationBase::ClassDefOverride ( O2MCApplicationBase  ,
1   
)
protected

◆ ConstructGeometry()

void o2::steer::O2MCApplicationBase::ConstructGeometry ( )
overridevirtual

Construct user geometry

Reimplemented from FairMCApplication.

Definition at line 218 of file O2MCApplication.cxx.

◆ FinishEvent()

void o2::steer::O2MCApplicationBase::FinishEvent ( )
overridevirtual

Define actions at the end of event

Reimplemented from FairMCApplication.

Reimplemented in o2::steer::O2MCApplicationEvalMat.

Definition at line 463 of file O2MCApplication.cxx.

◆ finishEventCommon()

void o2::steer::O2MCApplicationBase::finishEventCommon ( )
protected

some common parts of finishEvent

Definition at line 440 of file O2MCApplication.cxx.

◆ fixTGeoRuntimeShapes()

void o2::steer::O2MCApplicationBase::fixTGeoRuntimeShapes ( )

Definition at line 383 of file O2MCApplication.cxx.

◆ InitGeometry()

void o2::steer::O2MCApplicationBase::InitGeometry ( )
overridevirtual

Initialize geometry

Initialize geometry

Register stack and detector collections

SetSpecialPhysicsCuts for FairDetector objects and all passive modules inheriting from FairModule

Tasks has to be initialized here, they have access to the detector branches and still can create objects in the tree

There is always a Main Task ! so .. always a InitTasks() is called <D.B>

save Geo Params in Output file

Reimplemented from FairMCApplication.

Definition at line 285 of file O2MCApplication.cxx.

◆ initStepFilterHook()

void o2::steer::O2MCApplicationBase::initStepFilterHook ( )
protected

Definition at line 263 of file O2MCApplication.cxx.

◆ initTrackRefHook()

void o2::steer::O2MCApplicationBase::initTrackRefHook ( )
protected

Definition at line 1843 of file O2MCApplication.cxx.

◆ MisalignGeometry()

bool o2::steer::O2MCApplicationBase::MisalignGeometry ( )
overridevirtual

Align or misalign geometry before actual run

Reimplemented from FairMCApplication.

Definition at line 314 of file O2MCApplication.cxx.

◆ PreTrack()

void o2::steer::O2MCApplicationBase::PreTrack ( )
overridevirtual

Define actions at the beginning of each track

Reimplemented from FairMCApplication.

Definition at line 195 of file O2MCApplication.cxx.

◆ seedsInPreTrack()

bool o2::steer::O2MCApplicationBase::seedsInPreTrack ( ) const
protected

whether this engine needs per-track seeding in PreTrack (Geant3 seeds at stack-pop time instead, see O2MCApplicationBase::seedsInPreTrack)

Definition at line 182 of file O2MCApplication.cxx.

◆ Stepping()

void o2::steer::O2MCApplicationBase::Stepping ( )
overridevirtual

Define action at each step, dispatch the action to the corresponding detectors

Reimplemented from FairMCApplication.

Reimplemented in o2::steer::O2MCApplicationEvalMat.

Definition at line 84 of file O2MCApplication.cxx.

◆ TrackingRmax()

double o2::steer::O2MCApplicationBase::TrackingRmax ( ) const
inlineoverridevirtual

Define maximum radius for tracking (optional)

Reimplemented from FairMCApplication.

Definition at line 72 of file O2MCApplicationBase.h.

◆ TrackingZmax()

double o2::steer::O2MCApplicationBase::TrackingZmax ( ) const
inlineoverridevirtual

Define maximum z for tracking (optional)

Reimplemented from FairMCApplication.

Definition at line 73 of file O2MCApplicationBase.h.

Member Data Documentation

◆ mCutParams

o2::conf::SimCutParams const& o2::steer::O2MCApplicationBase::mCutParams
protected

Definition at line 81 of file O2MCApplicationBase.h.

◆ mHasStepFilterMacro

bool o2::steer::O2MCApplicationBase::mHasStepFilterMacro = false
protected

Definition at line 100 of file O2MCApplicationBase.h.

◆ mKeepStepFcn

KeepStepFcn o2::steer::O2MCApplicationBase::mKeepStepFcn
protected

an optional extra per-step criterion, loaded from SimCutParams.stepFilteringMacro; only consulted if mHasStepFilterMacro

Definition at line 99 of file O2MCApplicationBase.h.

◆ mLongestTrackTime

double o2::steer::O2MCApplicationBase::mLongestTrackTime = 0
protected

Definition at line 87 of file O2MCApplicationBase.h.

◆ mModIdToName

std::map<int, std::string> o2::steer::O2MCApplicationBase::mModIdToName {}
protected

Definition at line 83 of file O2MCApplicationBase.h.

◆ mSensitiveVolumes

std::map<int, std::string> o2::steer::O2MCApplicationBase::mSensitiveVolumes {}
protected

Definition at line 84 of file O2MCApplicationBase.h.

◆ mStepCounter

unsigned long long o2::steer::O2MCApplicationBase::mStepCounter {0}
protected

Definition at line 82 of file O2MCApplicationBase.h.

◆ mTrackRefFcn

TrackRefFcn o2::steer::O2MCApplicationBase::mTrackRefFcn
protected

Definition at line 95 of file O2MCApplicationBase.h.

◆ mTrackSeedWarned

bool o2::steer::O2MCApplicationBase::mTrackSeedWarned {false}
protected

Definition at line 88 of file O2MCApplicationBase.h.


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