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

#include <FairRunSim.h>

Inherits FairRun.

Inherited by o2::steer::O2RunSim.

Public Member Functions

 FairRunSim (Bool_t isMaster=kTRUE)
 
virtual ~FairRunSim ()
 
void AddModule (FairModule *Mod)
 
void AddNewIon (FairIon *ion)
 
void AddNewParticle (FairParticle *Particle)
 
TObjArray * GetUserDefIons ()
 
TObjArray * GetUserDefParticles ()
 
virtual void Init ()
 
virtual void Run (Int_t NEvents=0, Int_t NotUsed=0)
 
void SetField (FairField *field)
 
void SetGenerator (FairPrimaryGenerator *Gen)
 
void SetMCEventHeader (FairMCEventHeader *McHeader)
 
void SetMaterials (const char *MatFileName)
 
void SetStoreTraj (Bool_t storeTraj=kTRUE)
 
Bool_t GetStoreTraj () const
 
void SetTrackingDebugMode (Bool_t set)
 
void SetGeoModel (char *name)
 
TString * GetGeoModel ()
 
FairField * GetField ()
 
FairMCEventHeader * GetMCEventHeader ()
 
TObjArray * GetListOfModules ()
 
FairPrimaryGenerator * GetPrimaryGenerator ()
 
void SetPythiaDecayer (Bool_t decayer)
 
void SetPythiaDecayer (const TString &Config)
 
void SetUserDecay (const TString &Config)
 
void SetUserDecay (Bool_t decay)
 
Bool_t IsExtDecayer ()
 
Bool_t IsUserDecay ()
 
void SetRadLenRegister (Bool_t value)
 
void SetRadMapRegister (Bool_t value)
 
void SetRadGridRegister (Bool_t value)
 
void AddMesh (FairMesh *Mesh)
 
void SetUserConfig (const TString &Config)
 
TString GetUserConfig ()
 
void SetUserCuts (const TString &Cuts)
 
TString GetUserCuts ()
 
void SetBeamMom (Double_t BeamMom)
 
Double_t GetBeamMom ()
 
Bool_t UseBeamMom ()
 
void SetSimSetup (std::function< void()> f)
 
void SetSimulationConfig (FairGenericVMCConfig *tconf)
 
FairGenericVMCConfig * GetSimulationConfig ()
 
void SetIsMT (Bool_t isMT)
 
Bool_t IsMT () const
 
void SetImportTGeoToVMC (Bool_t v)
 
Bool_t IsImportTGeoToVMC () const
 
void StopMCRun ()
 
- Public Member Functions inherited from FairRun
 FairRun (Bool_t isMaster=kTRUE)
 
virtual ~FairRun ()
 
virtual void AddTask (FairTask *t)
 
virtual void StoreTaskNames (const FairTask *t)
 
virtual void SetTask (FairTask *t)
 
void SetEventHeader (FairEventHeader *EvHeader)
 
void SetSink (FairSink *tempSink)
 
FairSink * GetSink ()
 
Int_t GetRunId ()
 
void SetRunId (UInt_t runId)
 
FairEventHeader * GetEventHeader ()
 
Bool_t IsAna ()
 
FairTask * GetTask (const char *taskName)
 
FairTask * GetMainTask ()
 
Int_t GetNTasks ()
 
void CreateGeometryFile (const char *geofile)
 
void SetWriteRunInfoFile (Bool_t write)
 
void SetGenerateRunInfo (Bool_t write)
 
Bool_t GetWriteRunInfoFile ()
 
Bool_t IsRunInfoGenerated ()
 
void SetUseFairLinks (Bool_t val)
 
Bool_t GetIsMaster () const
 
void MarkFill (Bool_t flag)
 
TString GetOptions ()
 
void SetOptions (const TString &s)
 
virtual void SetOutputFile (const char *fname)
 
virtual void SetOutputFile (TFile *f)
 
void SetOutputFileName (const TString &name)
 
TFile * GetOutputFile ()
 
void SetUserOutputFileName (const TString &name)
 
TString GetUserOutputFileName () const
 
void AddAlignmentMatrices (const std::map< std::string, TGeoHMatrix > &alignmentMatrices, bool invertMatrices=false)
 

Static Public Member Functions

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

Protected Member Functions

 ClassDef (FairRunSim, 2)
 /‍** Simulation configuration *‍/
 
- Protected Member Functions inherited from FairRun
void AlignGeometry () const
 
 ClassDef (FairRun, 5)
 

Protected Attributes

Int_t count
 
FairMCApplication * fApp
 /‍** Internal counter*‍/
 
Double_t fBeamMom
 /‍** Main VMC application *‍/
 
Bool_t fUseBeamMom
 /‍** Beam Energy in GeV/c *‍/
 
FairPrimaryGenerator * fGen
 /‍** flag for use Beam Energy *‍/
 
FairMCEventHeader * fMCEvHead
 /‍** Primary Event Generator *‍/
 
FairField * fField
 /‍** Singleton Instance *‍/
 
const char * fMapName
 
TObjArray * fIons
 /‍** Input file name map*‍/
 
TObjArray * fParticles
 /‍** Array of user defined ions *‍/
 
TObjArray * ListOfModules
 /‍** Array of user defined particles*‍/
 
TString MatFname
 /‍** Array of used modules *‍/
 
Bool_t fStoreTraj
 /‍** Material file name *‍/
 
TString * fLoaderName
 /‍** Trajectory store flags *‍/
 
Bool_t fPythiaDecayer
 /‍** Geometry Model (TGeo or G3)*‍/
 
TString fPythiaDecayerConfig
 /‍** flag for using Pythia decayer*‍/
 
Bool_t fUserDecay
 /‍** Macro for Pythia decay configuration*‍/
 
TString fUserDecayConfig
 
Bool_t fRadLength
 /‍** Macro for decay configuration*‍/
 
Bool_t fRadMap
 /‍** flag for registring radiation length*‍/
 
Bool_t fRadGrid
 /‍** flag for RadiationMapManager
 
TObjArray * fMeshList
 
TString fUserConfig
 /‍** radiation grid scoring
 
TString fUserCuts
 /‍** Macro for geant configuration*‍/
 
Bool_t fIsMT
 /‍** Macro for geant cuts*‍/
 
Bool_t fImportTGeoToVMC
 /‍** MT mode option (Geant4 only)*‍/
 
std::function< void()> fSimSetup
 /‍** Allow importing TGeometry to VMC *‍/
 
bool fUseSimSetupFunction = false
 
FairGenericVMCConfig * fSimulationConfig
 
- Protected Attributes inherited from FairRun
FairTask * fTask
 
FairRootManager * fRootManager
 
FairSink * fSink
 
TString fUserOutputFileName
 
TString fOptions
 
UInt_t fRunId
 
Bool_t fAna
 
FairEventHeader * fEvtHeader
 
FairFileHeader * fFileHeader
 
Bool_t fGenerateRunInfo
 
Bool_t fIsMaster
 
Bool_t fMarkFill
 
FairAlignmentHandler fAlignmentHandler
 

Static Protected Attributes

static TMCThreadLocal FairRunSim * fginstance = 0
 /‍** MC Event Header *‍/
 
- Static Protected Attributes inherited from FairRun
static TMCThreadLocal FairRun * fRunInstance = 0
 

Detailed Description

Configure the Simulation session

Author
M. Al-Turany D. Bertini
Version
0.1
Since
12.01.04

Definition at line 36 of file FairRunSim.h.

Constructor & Destructor Documentation

◆ FairRunSim()

FairRunSim::FairRunSim ( Bool_t  isMaster = kTRUE)

default ctor

Definition at line 46 of file FairRunSim.cxx.

◆ ~FairRunSim()

FairRunSim::~FairRunSim ( )
virtual

default dtor

List of Modules is filled via AddModule from the macro, but it is the responsibility of FairRunSim to call the destructors of the modules-

Definition at line 86 of file FairRunSim.cxx.

Member Function Documentation

◆ AddMesh()

void FairRunSim::AddMesh ( FairMesh *  Mesh)

Definition at line 121 of file FairRunSim.cxx.

◆ AddModule()

void FairRunSim::AddModule ( FairModule *  Mod)

Add a module to the simulation (e.g. PIPE, Magnet, ..etc)

Definition at line 115 of file FairRunSim.cxx.

◆ AddNewIon()

void FairRunSim::AddNewIon ( FairIon *  ion)
inline

Add a user defined ion to the simulation

Definition at line 52 of file FairRunSim.h.

◆ AddNewParticle()

void FairRunSim::AddNewParticle ( FairParticle *  Particle)
inline

Add a user defined ion to the simulation

Definition at line 56 of file FairRunSim.h.

◆ ClassDef()

FairRunSim::ClassDef ( FairRunSim  ,
2   
)
protected

/‍** Simulation configuration *‍/

◆ GetBeamMom()

Double_t FairRunSim::GetBeamMom ( )
inline

Get the Beam energy

Definition at line 165 of file FairRunSim.h.

◆ GetField()

FairField * FairRunSim::GetField ( )
inlinevirtual

Get the field used in simulation

Implements FairRun.

Definition at line 113 of file FairRunSim.h.

◆ GetGeoModel()

TString * FairRunSim::GetGeoModel ( )
inline

return the geometry loader used in this session

Definition at line 110 of file FairRunSim.h.

◆ GetListOfModules()

TObjArray * FairRunSim::GetListOfModules ( )
inline

return the full list of modules used in simulation

Definition at line 119 of file FairRunSim.h.

◆ GetMCEventHeader()

FairMCEventHeader * FairRunSim::GetMCEventHeader ( )

Get the detector specific event header

Definition at line 309 of file FairRunSim.cxx.

◆ GetPrimaryGenerator()

FairPrimaryGenerator * FairRunSim::GetPrimaryGenerator ( )
inline

Get the used primary generator

Definition at line 122 of file FairRunSim.h.

◆ GetSimulationConfig()

FairGenericVMCConfig * FairRunSim::GetSimulationConfig ( )
inline

Definition at line 177 of file FairRunSim.h.

◆ GetStoreTraj()

Bool_t FairRunSim::GetStoreTraj ( ) const
inline

Return the switch for the track visualisation

Definition at line 96 of file FairRunSim.h.

◆ GetUserConfig()

TString FairRunSim::GetUserConfig ( )
inline

Definition at line 152 of file FairRunSim.h.

◆ GetUserCuts()

TString FairRunSim::GetUserCuts ( )
inline

Definition at line 155 of file FairRunSim.h.

◆ GetUserDefIons()

TObjArray * FairRunSim::GetUserDefIons ( )

this method is used by the FAIRMCApplication

return the array of user defined ions

Definition at line 128 of file FairRunSim.cxx.

◆ GetUserDefParticles()

TObjArray * FairRunSim::GetUserDefParticles ( )

this method is used by the FAIRMCApplication

return the array of user defined particles

Definition at line 134 of file FairRunSim.cxx.

◆ Init()

void FairRunSim::Init ( )
virtual

Initialize the Simulation

Initialize the simulation session

Add Tasks to simulation if any

Set the configuration for MC engine

Implements FairRun.

Reimplemented in o2::steer::O2RunSim.

Definition at line 140 of file FairRunSim.cxx.

◆ Instance()

FairRunSim * FairRunSim::Instance ( )
static

Singelton instance

Definition at line 113 of file FairRunSim.cxx.

◆ IsExtDecayer()

Bool_t FairRunSim::IsExtDecayer ( )
inline

Flag for external decayer

Definition at line 137 of file FairRunSim.h.

◆ IsImportTGeoToVMC()

Bool_t FairRunSim::IsImportTGeoToVMC ( ) const
inline

Definition at line 183 of file FairRunSim.h.

◆ IsMT()

Bool_t FairRunSim::IsMT ( ) const
inline

Definition at line 180 of file FairRunSim.h.

◆ IsUserDecay()

Bool_t FairRunSim::IsUserDecay ( )
inline

Flag for User decay

Definition at line 140 of file FairRunSim.h.

◆ Run()

void FairRunSim::Run ( Int_t  NEvents = 0,
Int_t  NotUsed = 0 
)
virtual

run the simulation

Implements FairRun.

Definition at line 258 of file FairRunSim.cxx.

◆ SetBeamMom()

void FairRunSim::SetBeamMom ( Double_t  BeamMom)
inline

Set Beam energy in GeV/c

Definition at line 158 of file FairRunSim.h.

◆ SetField()

void FairRunSim::SetField ( FairField *  field)

Set the magnetic that has to be used for simulation field

Definition at line 260 of file FairRunSim.cxx.

◆ SetGenerator()

void FairRunSim::SetGenerator ( FairPrimaryGenerator *  Gen)

Set the event generator that has to be used for simulation field

Definition at line 262 of file FairRunSim.cxx.

◆ SetGeoModel()

void FairRunSim::SetGeoModel ( char *  name)

Set geometry builder

Definition at line 283 of file FairRunSim.cxx.

◆ SetImportTGeoToVMC()

void FairRunSim::SetImportTGeoToVMC ( Bool_t  v)
inline

Definition at line 182 of file FairRunSim.h.

◆ SetIsMT()

void FairRunSim::SetIsMT ( Bool_t  isMT)
inline

Definition at line 179 of file FairRunSim.h.

◆ SetMaterials()

void FairRunSim::SetMaterials ( const char *  MatFileName)

Set the material file name to be used

Definition at line 264 of file FairRunSim.cxx.

◆ SetMCEventHeader()

void FairRunSim::SetMCEventHeader ( FairMCEventHeader *  McHeader)
inline

Set the experiment dependent event header for each Monte Carlo Event

Definition at line 87 of file FairRunSim.h.

◆ SetPythiaDecayer() [1/2]

void FairRunSim::SetPythiaDecayer ( Bool_t  decayer)
inline

switch On/Off external decayer (Pythia)

Definition at line 125 of file FairRunSim.h.

◆ SetPythiaDecayer() [2/2]

void FairRunSim::SetPythiaDecayer ( const TString &  Config)

switch On external decayer (Pythia). Config macro will be used

switch On external decayer (Pythia). Config macro will be used

Definition at line 295 of file FairRunSim.cxx.

◆ SetRadGridRegister()

void FairRunSim::SetRadGridRegister ( Bool_t  value)
inline

Definition at line 147 of file FairRunSim.h.

◆ SetRadLenRegister()

void FairRunSim::SetRadLenRegister ( Bool_t  value)
inline

Switch on/off Radiation length register

Definition at line 143 of file FairRunSim.h.

◆ SetRadMapRegister()

void FairRunSim::SetRadMapRegister ( Bool_t  value)
inline

Definition at line 145 of file FairRunSim.h.

◆ SetSimSetup()

void FairRunSim::SetSimSetup ( std::function< void()>  f)
inline

Definition at line 170 of file FairRunSim.h.

◆ SetSimulationConfig()

void FairRunSim::SetSimulationConfig ( FairGenericVMCConfig *  tconf)
inline

Definition at line 176 of file FairRunSim.h.

◆ SetStoreTraj()

void FairRunSim::SetStoreTraj ( Bool_t  storeTraj = kTRUE)
inline

switch On/Off the track visualisation

Definition at line 93 of file FairRunSim.h.

◆ SetTrackingDebugMode()

void FairRunSim::SetTrackingDebugMode ( Bool_t  set)
inline

switch On/Off the debug mode

Definition at line 99 of file FairRunSim.h.

◆ SetUserConfig()

void FairRunSim::SetUserConfig ( const TString &  Config)
inline

Definition at line 151 of file FairRunSim.h.

◆ SetUserCuts()

void FairRunSim::SetUserCuts ( const TString &  Cuts)
inline

Definition at line 154 of file FairRunSim.h.

◆ SetUserDecay() [1/2]

void FairRunSim::SetUserDecay ( Bool_t  decay)
inline

switch On/Off user defined decay if true gconfig/UserDecay.C macro will be called

Definition at line 134 of file FairRunSim.h.

◆ SetUserDecay() [2/2]

void FairRunSim::SetUserDecay ( const TString &  Config)

switch On user defined decay, Config macro will be called

switch On user defined decay, Config macro will be called

Definition at line 302 of file FairRunSim.cxx.

◆ StopMCRun()

void FairRunSim::StopMCRun ( )
inline

Definition at line 185 of file FairRunSim.h.

◆ UseBeamMom()

Bool_t FairRunSim::UseBeamMom ( )
inline

Get beam energy flag

Definition at line 168 of file FairRunSim.h.

Member Data Documentation

◆ count

Int_t FairRunSim::count
protected

Definition at line 194 of file FairRunSim.h.

◆ fApp

FairMCApplication* FairRunSim::fApp
protected

/‍** Internal counter*‍/

Definition at line 195 of file FairRunSim.h.

◆ fBeamMom

Double_t FairRunSim::fBeamMom
protected

/‍** Main VMC application *‍/

Definition at line 196 of file FairRunSim.h.

◆ fField

FairField* FairRunSim::fField
protected

/‍** Singleton Instance *‍/

Definition at line 201 of file FairRunSim.h.

◆ fGen

FairPrimaryGenerator* FairRunSim::fGen
protected

/‍** flag for use Beam Energy *‍/

Definition at line 198 of file FairRunSim.h.

◆ fginstance

TMCThreadLocal FairRunSim * FairRunSim::fginstance = 0
staticprotected

/‍** MC Event Header *‍/

Definition at line 200 of file FairRunSim.h.

◆ fImportTGeoToVMC

Bool_t FairRunSim::fImportTGeoToVMC
protected

/‍** MT mode option (Geant4 only)*‍/

Definition at line 220 of file FairRunSim.h.

◆ fIons

TObjArray* FairRunSim::fIons
protected

/‍** Input file name map*‍/

Definition at line 203 of file FairRunSim.h.

◆ fIsMT

Bool_t FairRunSim::fIsMT
protected

/‍** Macro for geant cuts*‍/

Definition at line 219 of file FairRunSim.h.

◆ fLoaderName

TString* FairRunSim::fLoaderName
protected

/‍** Trajectory store flags *‍/

Definition at line 208 of file FairRunSim.h.

◆ fMapName

const char* FairRunSim::fMapName
protected

Magnetic Field

Definition at line 202 of file FairRunSim.h.

◆ fMCEvHead

FairMCEventHeader* FairRunSim::fMCEvHead
protected

/‍** Primary Event Generator *‍/

Definition at line 199 of file FairRunSim.h.

◆ fMeshList

TObjArray* FairRunSim::fMeshList
protected

Definition at line 216 of file FairRunSim.h.

◆ fParticles

TObjArray* FairRunSim::fParticles
protected

/‍** Array of user defined ions *‍/

Definition at line 204 of file FairRunSim.h.

◆ fPythiaDecayer

Bool_t FairRunSim::fPythiaDecayer
protected

/‍** Geometry Model (TGeo or G3)*‍/

Definition at line 209 of file FairRunSim.h.

◆ fPythiaDecayerConfig

TString FairRunSim::fPythiaDecayerConfig
protected

/‍** flag for using Pythia decayer*‍/

Definition at line 210 of file FairRunSim.h.

◆ fRadGrid

Bool_t FairRunSim::fRadGrid
protected

/‍** flag for RadiationMapManager

Definition at line 215 of file FairRunSim.h.

◆ fRadLength

Bool_t FairRunSim::fRadLength
protected

/‍** Macro for decay configuration*‍/

Definition at line 213 of file FairRunSim.h.

◆ fRadMap

Bool_t FairRunSim::fRadMap
protected

/‍** flag for registring radiation length*‍/

Definition at line 214 of file FairRunSim.h.

◆ fSimSetup

std::function<void()> FairRunSim::fSimSetup
protected

/‍** Allow importing TGeometry to VMC *‍/

Definition at line 221 of file FairRunSim.h.

◆ fSimulationConfig

FairGenericVMCConfig* FairRunSim::fSimulationConfig
protected

Definition at line 224 of file FairRunSim.h.

◆ fStoreTraj

Bool_t FairRunSim::fStoreTraj
protected

/‍** Material file name *‍/

Definition at line 207 of file FairRunSim.h.

◆ fUseBeamMom

Bool_t FairRunSim::fUseBeamMom
protected

/‍** Beam Energy in GeV/c *‍/

Definition at line 197 of file FairRunSim.h.

◆ fUserConfig

TString FairRunSim::fUserConfig
protected

/‍** radiation grid scoring

Definition at line 217 of file FairRunSim.h.

◆ fUserCuts

TString FairRunSim::fUserCuts
protected

/‍** Macro for geant configuration*‍/

Definition at line 218 of file FairRunSim.h.

◆ fUserDecay

Bool_t FairRunSim::fUserDecay
protected

/‍** Macro for Pythia decay configuration*‍/

Definition at line 211 of file FairRunSim.h.

◆ fUserDecayConfig

TString FairRunSim::fUserDecayConfig
protected

flag for setting user decay

Definition at line 212 of file FairRunSim.h.

◆ fUseSimSetupFunction

bool FairRunSim::fUseSimSetupFunction = false
protected

/‍** A user provided function to do sim setup / instead of using macros **‍/

Definition at line 223 of file FairRunSim.h.

◆ ListOfModules

TObjArray* FairRunSim::ListOfModules
protected

/‍** Array of user defined particles*‍/

Definition at line 205 of file FairRunSim.h.

◆ MatFname

TString FairRunSim::MatFname
protected

/‍** Array of used modules *‍/

Definition at line 206 of file FairRunSim.h.


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