Project
Loading...
Searching...
No Matches
FairMCApplication Class Reference

#include <FairMCApplication.h>

Inherits TVirtualMCApplication.

Inherited by o2::steer::O2MCApplicationBase.

Public Member Functions

 FairMCApplication (const char *name, const char *title, TObjArray *ModList, const char *MatName)
 
 FairMCApplication ()
 
virtual ~FairMCApplication ()
 
virtual void AddDecayModes ()
 
virtual void AddParticles ()
 
virtual void AddIons ()
 
void AddTask (TTask *fTask)
 
virtual void BeginEvent ()
 
virtual void BeginPrimary ()
 
virtual void ConstructGeometry ()
 
virtual Bool_t MisalignGeometry ()
 
virtual void ConstructOpGeometry ()
 
virtual void FinishEvent ()
 
virtual void FinishPrimary ()
 
void FinishRun ()
 
virtual void GeneratePrimaries ()
 
FairDetector * GetDetector (const char *DetName)
 
FairField * GetField ()
 
FairPrimaryGenerator * GetGenerator ()
 
TTask * GetListOfTasks ()
 
FairGenericStack * GetStack ()
 
TChain * GetChain ()
 
virtual void InitGeometry ()
 
void InitMC (const char *setup, const char *cuts)
 
void InitTasks ()
 
virtual void PostTrack ()
 
virtual void PreTrack ()
 
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 Stepping ()
 
virtual void StopRun ()
 
virtual void StopMCRun ()
 
virtual Double_t TrackingRmax () const
 
virtual Double_t TrackingZmax () const
 
void AddMeshList (TObjArray *meshList)
 
void SetSaveCurrentEvent (Bool_t set)
 
FairMCApplicationState GetState () const
 

Static Public Member Functions

static FairMCApplication * Instance ()
 

Protected Member Functions

 ClassDef (FairMCApplication, 4)
 
 FairMCApplication (const FairMCApplication &)
 
Bool_t IsMasterApplication () const
 
FairModule * OwnModule (FairModule *module) const
 

Protected Attributes

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
 

Detailed Description

Definition at line 61 of file FairMCApplication.h.

Constructor & Destructor Documentation

◆ FairMCApplication() [1/3]

FairMCApplication::FairMCApplication ( const char *  name,
const char *  title,
TObjArray *  ModList,
const char *  MatName 
)

Standard constructor

Parameters
namename
titletitle
ModLista TObjArray containing all detectors and modules used in this simulation
MatNamematerial file name

Definition at line 75 of file FairMCApplication.cxx.

◆ FairMCApplication() [2/3]

FairMCApplication::FairMCApplication ( )

default constructor

Definition at line 258 of file FairMCApplication.cxx.

◆ ~FairMCApplication()

FairMCApplication::~FairMCApplication ( )
virtual

default destructor

Definition at line 306 of file FairMCApplication.cxx.

◆ FairMCApplication() [3/3]

FairMCApplication::FairMCApplication ( const FairMCApplication &  rhs)
protected

Copy constructor, used to create the application of a worker thread

Definition at line 165 of file FairMCApplication.cxx.

Member Function Documentation

◆ AddDecayModes()

void FairMCApplication::AddDecayModes ( )
virtual

Definition at line 1276 of file FairMCApplication.cxx.

◆ AddIons()

void FairMCApplication::AddIons ( )
virtual

Add user defined ions (optional)

Initialize the event generator

Definition at line 1171 of file FairMCApplication.cxx.

◆ AddMeshList()

void FairMCApplication::AddMeshList ( TObjArray *  meshList)

Definition at line 1426 of file FairMCApplication.cxx.

◆ AddParticles()

void FairMCApplication::AddParticles ( )
virtual

Add user defined particles (optional)

Reimplemented in o2::steer::O2MCApplicationBase.

Definition at line 1211 of file FairMCApplication.cxx.

◆ AddTask()

void FairMCApplication::AddTask ( TTask *  fTask)

Add user defined Tasks to be executed after each event (optional)

Parameters
fTaskTask that has to be excuted during simulation

Definition at line 1359 of file FairMCApplication.cxx.

◆ BeginEvent()

void FairMCApplication::BeginEvent ( )
virtual

Define actions at the beginning of the event

Reimplemented in o2::steer::O2MCApplication, o2::steer::O2MCApplicationBase, and o2::steer::O2MCApplicationEvalMat.

Definition at line 541 of file FairMCApplication.cxx.

◆ BeginPrimary()

void FairMCApplication::BeginPrimary ( )
virtual

Define actions at the beginning of primary track

Definition at line 552 of file FairMCApplication.cxx.

◆ ClassDef()

FairMCApplication::ClassDef ( FairMCApplication  ,
4   
)
protected

◆ CloneForWorker()

TVirtualMCApplication * FairMCApplication::CloneForWorker ( ) const
virtual

Clone for worker (used in MT mode only)

Reimplemented in o2::steer::O2MCApplication.

Definition at line 590 of file FairMCApplication.cxx.

◆ ConstructGeometry()

void FairMCApplication::ConstructGeometry ( )
virtual

Construct user geometry

Reimplemented in o2::steer::O2MCApplicationBase.

Definition at line 903 of file FairMCApplication.cxx.

◆ ConstructOpGeometry()

void FairMCApplication::ConstructOpGeometry ( )
virtual

Define parameters for optical processes (optional)

Definition at line 886 of file FairMCApplication.cxx.

◆ FinishEvent()

void FairMCApplication::FinishEvent ( )
virtual

Define actions at the end of event

Reimplemented in o2::steer::O2MCApplication, o2::steer::O2MCApplicationBase, and o2::steer::O2MCApplicationEvalMat.

Definition at line 811 of file FairMCApplication.cxx.

◆ FinishPrimary()

void FairMCApplication::FinishPrimary ( )
virtual

Define actions at the end of primary track

Reimplemented in o2::steer::O2MCApplicationEvalMat.

Definition at line 779 of file FairMCApplication.cxx.

◆ FinishRun()

void FairMCApplication::FinishRun ( )

Define actions at the end of run

Definition at line 467 of file FairMCApplication.cxx.

◆ FinishRunOnWorker()

void FairMCApplication::FinishRunOnWorker ( )
virtual

Finish run on worker (used in MT mode only)

Reimplemented in o2::steer::O2MCApplication.

Definition at line 658 of file FairMCApplication.cxx.

◆ GeneratePrimaries()

void FairMCApplication::GeneratePrimaries ( )
virtual

Generate primary particles

Reimplemented in o2::steer::O2MCApplication.

Definition at line 1152 of file FairMCApplication.cxx.

◆ GetChain()

TChain * FairMCApplication::GetChain ( )

Definition at line 1397 of file FairMCApplication.cxx.

◆ GetDetector()

FairDetector * FairMCApplication::GetDetector ( const char *  DetName)

Return detector by name

Definition at line 1166 of file FairMCApplication.cxx.

◆ GetField()

FairField * FairMCApplication::GetField ( )
inline

Return Field used in simulation

Definition at line 111 of file FairMCApplication.h.

◆ GetGenerator()

FairPrimaryGenerator * FairMCApplication::GetGenerator ( )

Return primary generator

Definition at line 1353 of file FairMCApplication.cxx.

◆ GetListOfTasks()

TTask * FairMCApplication::GetListOfTasks ( )

Return list of tasks

Definition at line 1373 of file FairMCApplication.cxx.

◆ GetStack()

FairGenericStack * FairMCApplication::GetStack ( )

Definition at line 1370 of file FairMCApplication.cxx.

◆ GetState()

FairMCApplicationState FairMCApplication::GetState ( ) const
inline

Get the current application state.

Definition at line 211 of file FairMCApplication.h.

◆ InitGeometry()

void FairMCApplication::InitGeometry ( )
virtual

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 in o2::steer::O2MCApplicationBase.

Definition at line 995 of file FairMCApplication.cxx.

◆ InitMC()

void FairMCApplication::InitMC ( const char *  setup,
const char *  cuts 
)

Initialize MC engine

Definition at line 411 of file FairMCApplication.cxx.

◆ InitOnWorker()

void FairMCApplication::InitOnWorker ( )
virtual

Init application on worker (used in MT mode only)

Reimplemented in o2::steer::O2MCApplication.

Definition at line 631 of file FairMCApplication.cxx.

◆ InitTasks()

void FairMCApplication::InitTasks ( )

Initialize Tasks if any

Definition at line 1386 of file FairMCApplication.cxx.

◆ Instance()

FairMCApplication * FairMCApplication::Instance ( )
inlinestatic

Singelton instance

Definition at line 330 of file FairMCApplication.h.

◆ IsMasterApplication()

Bool_t FairMCApplication::IsMasterApplication ( ) const
inlineprotected

True for the application on the master thread, false for a worker clone

Definition at line 323 of file FairMCApplication.h.

◆ MisalignGeometry()

Bool_t FairMCApplication::MisalignGeometry ( )
virtual

Align or misalign geometry before actual run

Reimplemented in o2::steer::O2MCApplicationBase.

Definition at line 987 of file FairMCApplication.cxx.

◆ OwnModule()

FairModule * FairMCApplication::OwnModule ( FairModule *  module) const
protected

The worker clone of a module of the master application (the module itself on the master)

Definition at line 617 of file FairMCApplication.cxx.

◆ PostTrack()

void FairMCApplication::PostTrack ( )
virtual

Define actions at the end of each track

Definition at line 769 of file FairMCApplication.cxx.

◆ PreTrack()

void FairMCApplication::PreTrack ( )
virtual

Define actions at the beginning of each track

Reimplemented in o2::steer::O2MCApplicationBase.

Definition at line 562 of file FairMCApplication.cxx.

◆ RunMC()

void FairMCApplication::RunMC ( Int_t  nofEvents)

Run the MC engine

Parameters
nofEvents: number of events to simulate

Set the list of active detectors to the stack

Definition at line 451 of file FairMCApplication.cxx.

◆ SetField()

void FairMCApplication::SetField ( FairField *  field)

Set the magnetic field for simulation

Parameters
fieldmagnetic field

Definition at line 884 of file FairMCApplication.cxx.

◆ SetGenerator()

void FairMCApplication::SetGenerator ( FairPrimaryGenerator *  fxGenerator)

Set the event generator for simulation

Parameters
fxGeneratorEvent generator(s)

Definition at line 1356 of file FairMCApplication.cxx.

◆ SetParTask()

void FairMCApplication::SetParTask ( )

Set the parameter containers needed by Tasks(if any)

Definition at line 1376 of file FairMCApplication.cxx.

◆ SetPythiaDecayer()

void FairMCApplication::SetPythiaDecayer ( Bool_t  decayer)
inline

Switch for using Pythia as external decayer

Parameters
decayerif TRUE pythia will decay particles specifid in the Decay Config macro (see SetPythiaDecayerConfig)

Definition at line 161 of file FairMCApplication.h.

◆ SetPythiaDecayerConfig()

void FairMCApplication::SetPythiaDecayerConfig ( const TString  decayerConf)
inline

set the decay configuration macro to be used by Pythia

Definition at line 165 of file FairMCApplication.h.

◆ SetRadiationLengthReg()

void FairMCApplication::SetRadiationLengthReg ( Bool_t  RadLen)

Switch for using the radiation length manager

Definition at line 1408 of file FairMCApplication.cxx.

◆ SetRadiationMapReg()

void FairMCApplication::SetRadiationMapReg ( Bool_t  RadMap)

Switch for using the radiation map manager

Definition at line 1417 of file FairMCApplication.cxx.

◆ SetSaveCurrentEvent()

void FairMCApplication::SetSaveCurrentEvent ( Bool_t  set)
inline

Set if the current event should be written to the output file. The default value which is set back after each event is to store the event.

Definition at line 206 of file FairMCApplication.h.

◆ SetTrackingDebugMode()

void FairMCApplication::SetTrackingDebugMode ( Bool_t  set)
inline

Switch for debuging the tracking

Definition at line 177 of file FairMCApplication.h.

◆ SetUserDecay()

void FairMCApplication::SetUserDecay ( Bool_t  decay)
inline

Switch for using 2 or 3 body phase-space decay

Parameters
decayif TRUE 2/3 body phase space decay will be used for particle specified in the User Decay Config macro (see SetUserDecayConfig)

Definition at line 183 of file FairMCApplication.h.

◆ SetUserDecayConfig()

void FairMCApplication::SetUserDecayConfig ( const TString  decayerConf)
inline

set the decay configuration macro to be used by user decay

Definition at line 187 of file FairMCApplication.h.

◆ Stepping()

void FairMCApplication::Stepping ( )
virtual

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

Reimplemented in o2::steer::O2MCApplicationBase, and o2::steer::O2MCApplicationEvalMat.

Definition at line 666 of file FairMCApplication.cxx.

◆ StopMCRun()

void FairMCApplication::StopMCRun ( )
virtual

Stop the run

Definition at line 804 of file FairMCApplication.cxx.

◆ StopRun()

void FairMCApplication::StopRun ( )
virtual

Stop the run

Definition at line 791 of file FairMCApplication.cxx.

◆ TrackingRmax()

Double_t FairMCApplication::TrackingRmax ( ) const
virtual

Define maximum radius for tracking (optional)

Reimplemented in o2::steer::O2MCApplicationBase.

Definition at line 870 of file FairMCApplication.cxx.

◆ TrackingZmax()

Double_t FairMCApplication::TrackingZmax ( ) const
virtual

Define maximum z for tracking (optional)

Reimplemented in o2::steer::O2MCApplicationBase.

Definition at line 877 of file FairMCApplication.cxx.

Member Data Documentation

◆ fActiveDetectors

TRefArray* FairMCApplication::fActiveDetectors
protected

List of active detector

Definition at line 222 of file FairMCApplication.h.

◆ fDebug

Bool_t FairMCApplication::fDebug
protected

Debug flag

Definition at line 260 of file FairMCApplication.h.

◆ fDetectors

TRefArray* FairMCApplication::fDetectors
protected

detector list (Passive and Active)

Definition at line 226 of file FairMCApplication.h.

◆ fDetMap

TRefArray* FairMCApplication::fDetMap
protected

Map used for dispatcher

Definition at line 228 of file FairMCApplication.h.

◆ fDisDet

FairDetector* FairMCApplication::fDisDet
protected

dispatcher internal use

Definition at line 264 of file FairMCApplication.h.

◆ fDisVol

FairVolume* FairMCApplication::fDisVol
protected

dispatcher internal use

Definition at line 262 of file FairMCApplication.h.

◆ fEventHeader

FairEventHeader* FairMCApplication::fEventHeader
protected

Definition at line 287 of file FairMCApplication.h.

◆ fEvGen

FairPrimaryGenerator* FairMCApplication::fEvGen
protected

Primary generator

Definition at line 248 of file FairMCApplication.h.

◆ fFairTaskList

FairTask* FairMCApplication::fFairTaskList
protected

List of FairTask

Definition at line 224 of file FairMCApplication.h.

◆ fMC

TVirtualMC* FairMCApplication::fMC
protected

Pointer to the current MC engine //!

Definition at line 296 of file FairMCApplication.h.

◆ fMCEventHeader

FairMCEventHeader* FairMCApplication::fMCEventHeader
protected

Definition at line 289 of file FairMCApplication.h.

◆ fMcVersion

Int_t FairMCApplication::fMcVersion
protected

MC Engine 1= Geant3, 2 = Geant4

Definition at line 250 of file FairMCApplication.h.

◆ fModIter

TIterator* FairMCApplication::fModIter
protected

Iterator for Module list

Definition at line 230 of file FairMCApplication.h.

◆ fModules

TObjArray* FairMCApplication::fModules
protected

Module list in simulation

Definition at line 232 of file FairMCApplication.h.

◆ fModVolIter

std::map<Int_t,Int_t>::iterator FairMCApplication::fModVolIter
protected

dispatcher internal use RadLen

Definition at line 273 of file FairMCApplication.h.

◆ fModVolMap

std::map<Int_t, Int_t> FairMCApplication::fModVolMap
protected

Track position dispatcher internal use RadLeng

Definition at line 271 of file FairMCApplication.h.

◆ fNoSenVolumes

Int_t FairMCApplication::fNoSenVolumes
protected

Number of sensetive volumes in simulation session

Definition at line 234 of file FairMCApplication.h.

◆ fPythiaDecayer

Bool_t FairMCApplication::fPythiaDecayer
protected

flag for using Pythia as external decayer

Definition at line 236 of file FairMCApplication.h.

◆ fPythiaDecayerConfig

TString FairMCApplication::fPythiaDecayerConfig
protected

Pythia decay config macro

Definition at line 238 of file FairMCApplication.h.

◆ fRadGridMan

FairRadGridManager* FairMCApplication::fRadGridMan
protected

Radiation map Grid Manager

Definition at line 285 of file FairMCApplication.h.

◆ fRadLength

Bool_t FairMCApplication::fRadLength
protected

Flag for Radiation length register mode

Definition at line 276 of file FairMCApplication.h.

◆ fRadLenMan

FairRadLenManager* FairMCApplication::fRadLenMan
protected

Radiation length Manager

Definition at line 279 of file FairMCApplication.h.

◆ fRadMap

Bool_t FairMCApplication::fRadMap
protected

Flag for Radiation map register mode

Definition at line 281 of file FairMCApplication.h.

◆ fRadMapMan

FairRadMapManager* FairMCApplication::fRadMapMan
protected

Radiation Map Manager

Definition at line 283 of file FairMCApplication.h.

◆ fRootManager

FairRootManager* FairMCApplication::fRootManager
protected

Pointer to thr I/O Manager

Definition at line 242 of file FairMCApplication.h.

◆ fRun

FairRunSim* FairMCApplication::fRun
protected

Pointer to FairRunSim //!

Definition at line 298 of file FairMCApplication.h.

◆ fSaveCurrentEvent

Bool_t FairMCApplication::fSaveCurrentEvent
protected

Flag if the current event should be saved

Definition at line 301 of file FairMCApplication.h.

◆ fSenVolumes

TRefArray* FairMCApplication::fSenVolumes
protected

List of sensetive volumes in all detectors

Definition at line 244 of file FairMCApplication.h.

◆ fStack

FairGenericStack* FairMCApplication::fStack
protected

Simulation Stack

Definition at line 240 of file FairMCApplication.h.

◆ fState

FairMCApplicationState FairMCApplication::fState
protected

Current state

Definition at line 304 of file FairMCApplication.h.

◆ fTrajAccepted

Bool_t FairMCApplication::fTrajAccepted
protected

Flag for accepted tracks for visualization

Definition at line 254 of file FairMCApplication.h.

◆ fTrajFilter

FairTrajFilter* FairMCApplication::fTrajFilter
protected

Track visualization manager

Definition at line 252 of file FairMCApplication.h.

◆ fTrkPos

TLorentzVector FairMCApplication::fTrkPos
protected

Definition at line 274 of file FairMCApplication.h.

◆ fUserDecay

Bool_t FairMCApplication::fUserDecay
protected

Flag for using user decay

Definition at line 256 of file FairMCApplication.h.

◆ fUserDecayConfig

TString FairMCApplication::fUserDecayConfig
protected

User decay config macro

Definition at line 258 of file FairMCApplication.h.

◆ fVolIter

std::multimap<Int_t,FairVolume*>::iterator FairMCApplication::fVolIter
protected

dispatcher internal use

Definition at line 268 of file FairMCApplication.h.

◆ fVolMap

std::multimap<Int_t, FairVolume*> FairMCApplication::fVolMap
protected

dispatcher internal use

Definition at line 266 of file FairMCApplication.h.

◆ fxField

FairField* FairMCApplication::fxField
protected

Magnetic Field Pointer

Definition at line 246 of file FairMCApplication.h.

◆ listActiveDetectors

std::list<FairDetector*> FairMCApplication::listActiveDetectors
protected

list of senstive detectors used in the simuation session

Definition at line 291 of file FairMCApplication.h.

◆ listDetectors

std::list<FairDetector*> FairMCApplication::listDetectors
protected

list of all detectors used in the simuation session

Definition at line 293 of file FairMCApplication.h.


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