EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
EicRunSim Class Reference

#include <EicRoot/blob/master/eic/base/EicRunSim.h>

+ Inheritance diagram for EicRunSim:
+ Collaboration diagram for EicRunSim:

Public Types

enum  InitializationState { stUndefined, stFailed, stSucceeded }
 

Public Member Functions

 EicRunSim (const char *engine=0)
 
 ~EicRunSim ()
 
EicDetectorGetModule (const char *detName) const
 
void SuppressSecondaries ()
 
bool SuppressSecondariesFlag () const
 
void IgnoreBlackHoleVolumes ()
 
bool IgnoreBlackHoleVolumesFlag () const
 
int DefineFluxMonitorGrid (double rMax, unsigned rDim, double zMin, double zMax, unsigned zDim)
 
int AddFluxMonitorParticleType (int pdg, double eMin=0.0, double eMax=0.0)
 
FluxMonitorGridGetFluxMonitorGrid ()
 
void SetMaterials (const char *mediaFileName)
 
void SetOutputFile (const char *outputFileName)
 
void AddModule (FairModule *module)
 
void SetCaveFileName (const char *caveFileName)
 
void Init ()
 
void Run (Int_t NEvents=0, Int_t NotUsed=0)
 
void RunCoreStart (Int_t NEvents=0, Int_t NotUsed=0)
 
bool JanaLoopPossible (void) const
 
void SetSeed (unsigned seed)
 
void SuppressTimerInfo ()
 
void SuppressHitProduction ()
 
bool SuppressHitProductionFlag () const
 
void SuppressFairRootSteppingCall ()
 
bool SuppressFairRootSteppingCallFlag () const
 
void AddGenerator (FairGenerator *generator)
 
void AddField (FairField *field)
 
- Public Member Functions inherited from FairRunSim
 FairRunSim ()
 
virtual ~FairRunSim ()
 
void AddNewIon (FairIon *ion)
 
void AddNewParticle (FairParticle *Particle)
 
TObjArray * GetUserDefIons ()
 
TObjArray * GetUserDefParticles ()
 
void SetField (FairField *field)
 
void SetGenerator (FairPrimaryGenerator *Gen)
 
void SetMCEventHeader (FairMCEventHeader *McHeader)
 
void SetStoreTraj (Bool_t storeTraj=kTRUE)
 
void SetTrackingDebugMode (Bool_t set)
 
void SetGeoModel (char *name)
 
TString * GetGeoModel ()
 
FairField * GetField ()
 
FairMCEventHeaderGetMCEventHeader ()
 
TObjArray * GetListOfModules ()
 
FairPrimaryGeneratorGetPrimaryGenerator ()
 
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)
 
void SetUserCuts (const TString &Cuts)
 
void SetBeamMom (Double_t BeamMom)
 
Double_t GetBeamMom ()
 
Bool_t UseBeamMom ()
 
void SetFieldContainer ()
 
- Public Member Functions inherited from FairRun
 FairRun ()
 
virtual ~FairRun ()
 
virtual void AddTask (FairTask *t)
 
virtual void SetTask (FairTask *t)
 
void SetOutputFile (TFile *f)
 
void SetEventHeader (FairEventHeader *EvHeader)
 
FairRuntimeDbGetRuntimeDb (void)
 
TFile * GetOutputFile ()
 
Int_t GetRunId ()
 
FairEventHeaderGetEventHeader ()
 
Bool_t IsAna ()
 
FairTaskGetTask (const char *taskName)
 
FairTaskGetMainTask ()
 
Int_t GetNTasks ()
 
void CreateGeometryFile (const char *geofile)
 
void SetWriteRunInfoFile (Bool_t write)
 
Bool_t GetWriteRunInfoFile ()
 
virtual void RunCoreFinish (void)
 
virtual bool RunCoreImportNextEvent (void)
 
virtual void RunCoreProcessNextEvent (void)
 
int GetCurrentEventIndex (void) const
 

Static Public Member Functions

static EicRunSimInstance ()
 
- Static Public Member Functions inherited from FairRunSim
static FairRunSimInstance ()
 
- Static Public Member Functions inherited from FairRun
static FairRunInstance ()
 
static void JanaPluginMode (bool what)
 
static bool JanaPluginMode (void)
 

Private Attributes

InitializationState mInitState
 singelton instance
 
TString mOutputFileName
 
TString mMediaFileName
 
TString mCaveFileName
 
UInt_t mSeed
 
Bool_t mCaveDefinedFlag
 
Bool_t mSuppressSecondariesFlag
 
Bool_t mTimerFlag
 
FluxMonitorGridmFluxMonitorGrid
 
Bool_t mIgnoreBlackHoleVolumes
 
Bool_t mSuppressHitProductionFlag
 
Bool_t mSuppressFairRootSteppingCallFlag
 
PndMultiFieldmField
 

Static Private Attributes

static EicRunSimmInstance = 0
 

Additional Inherited Members

- Protected Attributes inherited from FairRunSim
Int_t count
 
FairMCApplicationfApp
 /** Internal counter*/
 
Double_t fBeamMom
 /** Main VMC application */
 
Bool_t fUseBeamMom
 /** Beam Energy in GeV/c */
 
FairPrimaryGeneratorfGen
 /** flag for use Beam Energy */
 
FairMCEventHeaderfMCEvHead
 /** Primary Event Generator */
 
FairField * fField
 /** Singelton 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*/
 
- Static Protected Attributes inherited from FairRunSim
static FairRunSimfginstance = 0
 /** MC Event Header */
 

Detailed Description

Definition at line 119 of file EicRunSim.h.

View newest version in sPHENIX GitHub at line 119 of file EicRunSim.h

Member Enumeration Documentation

Enumerator:
stUndefined 
stFailed 
stSucceeded 

Definition at line 125 of file EicRunSim.h.

View newest version in sPHENIX GitHub at line 125 of file EicRunSim.h

Constructor & Destructor Documentation

EicRunSim::EicRunSim ( const char *  engine = 0)

Definition at line 30 of file EicRunSim.cxx.

View newest version in sPHENIX GitHub at line 30 of file EicRunSim.cxx

References mInstance.

EicRunSim::~EicRunSim ( )
inline

Definition at line 123 of file EicRunSim.h.

View newest version in sPHENIX GitHub at line 123 of file EicRunSim.h

Member Function Documentation

void EicRunSim::AddField ( FairField *  field)

Definition at line 104 of file EicRunSim.cxx.

View newest version in sPHENIX GitHub at line 104 of file EicRunSim.cxx

References PndMultiField::AddField(), FairRunSim::GetField(), mField, and FairRunSim::SetField().

Referenced by simulation().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int EicRunSim::AddFluxMonitorParticleType ( int  pdg,
double  eMin = 0.0,
double  eMax = 0.0 
)

Definition at line 262 of file EicRunSim.cxx.

View newest version in sPHENIX GitHub at line 262 of file EicRunSim.cxx

References FluxMonitorGrid::AddFluxMonitorParticleType(), and mFluxMonitorGrid.

+ Here is the call graph for this function:

void EicRunSim::AddGenerator ( FairGenerator generator)

Definition at line 92 of file EicRunSim.cxx.

View newest version in sPHENIX GitHub at line 92 of file EicRunSim.cxx

References FairPrimaryGenerator::AddGenerator(), FairRunSim::GetPrimaryGenerator(), and FairRunSim::SetGenerator().

Referenced by simulation().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void EicRunSim::AddModule ( FairModule Mod)
virtual

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

Reimplemented from FairRunSim.

Definition at line 76 of file EicRunSim.cxx.

View newest version in sPHENIX GitHub at line 76 of file EicRunSim.cxx

References FairRunSim::AddModule(), mCaveDefinedFlag, mCaveFileName, and FairModule::SetGeometryFileName().

Referenced by simulation().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int EicRunSim::DefineFluxMonitorGrid ( double  rMax,
unsigned  rDim,
double  zMin,
double  zMax,
unsigned  zDim 
)

Definition at line 243 of file EicRunSim.cxx.

View newest version in sPHENIX GitHub at line 243 of file EicRunSim.cxx

References FairRun::AddTask(), and mFluxMonitorGrid.

+ Here is the call graph for this function:

FluxMonitorGrid* EicRunSim::GetFluxMonitorGrid ( )
inline

Definition at line 160 of file EicRunSim.h.

View newest version in sPHENIX GitHub at line 160 of file EicRunSim.h

References mFluxMonitorGrid.

Referenced by EicFluxMonitorTask::FinishTask(), and EicMCApplication::Stepping().

+ Here is the caller graph for this function:

EicDetector* EicRunSim::GetModule ( const char *  detName) const
inline

Definition at line 131 of file EicRunSim.h.

View newest version in sPHENIX GitHub at line 131 of file EicRunSim.h

References FairRunSim::ListOfModules.

void EicRunSim::IgnoreBlackHoleVolumes ( )
inline

Definition at line 155 of file EicRunSim.h.

View newest version in sPHENIX GitHub at line 155 of file EicRunSim.h

References mIgnoreBlackHoleVolumes.

bool EicRunSim::IgnoreBlackHoleVolumesFlag ( ) const
inline

Definition at line 156 of file EicRunSim.h.

View newest version in sPHENIX GitHub at line 156 of file EicRunSim.h

References mIgnoreBlackHoleVolumes.

Referenced by EicMCApplication::Stepping().

+ Here is the caller graph for this function:

void EicRunSim::Init ( )
virtual

Initialize the Simulation

Initialize the simulation session

Add Tasks to simulation if any

Set the configuration for MC engine

Reimplemented from FairRunSim.

Definition at line 116 of file EicRunSim.cxx.

View newest version in sPHENIX GitHub at line 116 of file EicRunSim.cxx

References FairRunSim::fApp, FairRunSim::Init(), FairRunSim::ListOfModules, FairRunSim::MatFname, mInitState, mMediaFileName, mOutputFileName, mSeed, printf(), FairRunSim::SetMaterials(), FairRun::SetOutputFile(), FairRunSim::SetStoreTraj(), stFailed, and stSucceeded.

Referenced by RunCoreStart(), and simulation().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static EicRunSim* EicRunSim::Instance ( )
inlinestatic

Definition at line 128 of file EicRunSim.h.

View newest version in sPHENIX GitHub at line 128 of file EicRunSim.h

References mInstance.

Referenced by EicFluxMonitorTask::FinishTask(), EicDetector::ProcessHits(), and EicMCApplication::Stepping().

+ Here is the caller graph for this function:

bool EicRunSim::JanaLoopPossible ( void  ) const
inlinevirtual

Reimplemented from FairRun.

Definition at line 174 of file EicRunSim.h.

View newest version in sPHENIX GitHub at line 174 of file EicRunSim.h

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

run the simulation

Reimplemented from FairRunSim.

Definition at line 148 of file EicRunSim.cxx.

View newest version in sPHENIX GitHub at line 148 of file EicRunSim.cxx

References exit(), and RunCoreStart().

Referenced by simulation().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void EicRunSim::RunCoreStart ( Int_t  NEvents = 0,
Int_t  NotUsed = 0 
)
virtual

Reimplemented from FairRun.

Definition at line 159 of file EicRunSim.cxx.

View newest version in sPHENIX GitHub at line 159 of file EicRunSim.cxx

References _GPHYSI_DAT_, FairRuntimeDb::closeOutput(), FairRun::GetOutputFile(), FairRun::GetRuntimeDb(), Init(), FairTrajFilter::Instance(), mInitState, mOutputFileName, mSuppressSecondariesFlag, mTimerFlag, FairParRootFileIo::open(), printf(), FairRunSim::Run(), FairRuntimeDb::setOutput(), FairTrajFilter::SetStorePrimaries(), FairTrajFilter::SetStoreSecondaries(), stFailed, and stUndefined.

Referenced by Run().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void EicRunSim::SetCaveFileName ( const char *  caveFileName)

Definition at line 69 of file EicRunSim.cxx.

View newest version in sPHENIX GitHub at line 69 of file EicRunSim.cxx

References mCaveFileName.

Referenced by simulation().

+ Here is the caller graph for this function:

void EicRunSim::SetMaterials ( const char *  MatFileName)
virtual

Set the material file name to be used

Reimplemented from FairRunSim.

Definition at line 55 of file EicRunSim.cxx.

View newest version in sPHENIX GitHub at line 55 of file EicRunSim.cxx

References mMediaFileName.

void EicRunSim::SetOutputFile ( const char *  fname)
virtual

Set the output file name for analysis or simulation

Reimplemented from FairRun.

Definition at line 62 of file EicRunSim.cxx.

View newest version in sPHENIX GitHub at line 62 of file EicRunSim.cxx

References mOutputFileName.

Referenced by simulation().

+ Here is the caller graph for this function:

void EicRunSim::SetSeed ( unsigned  seed)
inline

Definition at line 176 of file EicRunSim.h.

View newest version in sPHENIX GitHub at line 176 of file EicRunSim.h

References mSeed.

Referenced by simulation().

+ Here is the caller graph for this function:

void EicRunSim::SuppressFairRootSteppingCall ( )
inline

Definition at line 182 of file EicRunSim.h.

View newest version in sPHENIX GitHub at line 182 of file EicRunSim.h

References mSuppressFairRootSteppingCallFlag.

bool EicRunSim::SuppressFairRootSteppingCallFlag ( ) const
inline

Definition at line 183 of file EicRunSim.h.

View newest version in sPHENIX GitHub at line 183 of file EicRunSim.h

References mSuppressFairRootSteppingCallFlag.

Referenced by EicMCApplication::Stepping().

+ Here is the caller graph for this function:

void EicRunSim::SuppressHitProduction ( )
inline

Definition at line 179 of file EicRunSim.h.

View newest version in sPHENIX GitHub at line 179 of file EicRunSim.h

References mSuppressHitProductionFlag.

bool EicRunSim::SuppressHitProductionFlag ( ) const
inline

Definition at line 180 of file EicRunSim.h.

View newest version in sPHENIX GitHub at line 180 of file EicRunSim.h

References mSuppressHitProductionFlag.

Referenced by EicDetector::ProcessHits().

+ Here is the caller graph for this function:

void EicRunSim::SuppressSecondaries ( )
inline

Definition at line 152 of file EicRunSim.h.

View newest version in sPHENIX GitHub at line 152 of file EicRunSim.h

References mSuppressSecondariesFlag.

Referenced by simulation().

+ Here is the caller graph for this function:

bool EicRunSim::SuppressSecondariesFlag ( ) const
inline

Definition at line 153 of file EicRunSim.h.

View newest version in sPHENIX GitHub at line 153 of file EicRunSim.h

References mSuppressSecondariesFlag.

Referenced by EicMCApplication::Stepping().

+ Here is the caller graph for this function:

void EicRunSim::SuppressTimerInfo ( )
inline

Definition at line 177 of file EicRunSim.h.

View newest version in sPHENIX GitHub at line 177 of file EicRunSim.h

References mTimerFlag.

Member Data Documentation

Bool_t EicRunSim::mCaveDefinedFlag
private

Definition at line 212 of file EicRunSim.h.

View newest version in sPHENIX GitHub at line 212 of file EicRunSim.h

Referenced by AddModule().

TString EicRunSim::mCaveFileName
private

Definition at line 207 of file EicRunSim.h.

View newest version in sPHENIX GitHub at line 207 of file EicRunSim.h

Referenced by AddModule(), and SetCaveFileName().

PndMultiField* EicRunSim::mField
private

Definition at line 226 of file EicRunSim.h.

View newest version in sPHENIX GitHub at line 226 of file EicRunSim.h

Referenced by AddField().

FluxMonitorGrid* EicRunSim::mFluxMonitorGrid
private

Definition at line 218 of file EicRunSim.h.

View newest version in sPHENIX GitHub at line 218 of file EicRunSim.h

Referenced by AddFluxMonitorParticleType(), DefineFluxMonitorGrid(), and GetFluxMonitorGrid().

Bool_t EicRunSim::mIgnoreBlackHoleVolumes
private

Definition at line 220 of file EicRunSim.h.

View newest version in sPHENIX GitHub at line 220 of file EicRunSim.h

Referenced by IgnoreBlackHoleVolumes(), and IgnoreBlackHoleVolumesFlag().

InitializationState EicRunSim::mInitState
private

singelton instance

Definition at line 200 of file EicRunSim.h.

View newest version in sPHENIX GitHub at line 200 of file EicRunSim.h

Referenced by Init(), and RunCoreStart().

EicRunSim * EicRunSim::mInstance = 0
staticprivate

Definition at line 197 of file EicRunSim.h.

View newest version in sPHENIX GitHub at line 197 of file EicRunSim.h

Referenced by EicRunSim(), and Instance().

TString EicRunSim::mMediaFileName
private

Definition at line 206 of file EicRunSim.h.

View newest version in sPHENIX GitHub at line 206 of file EicRunSim.h

Referenced by Init(), and SetMaterials().

TString EicRunSim::mOutputFileName
private

Definition at line 204 of file EicRunSim.h.

View newest version in sPHENIX GitHub at line 204 of file EicRunSim.h

Referenced by Init(), RunCoreStart(), and SetOutputFile().

UInt_t EicRunSim::mSeed
private

Definition at line 209 of file EicRunSim.h.

View newest version in sPHENIX GitHub at line 209 of file EicRunSim.h

Referenced by Init(), and SetSeed().

Bool_t EicRunSim::mSuppressFairRootSteppingCallFlag
private

Definition at line 223 of file EicRunSim.h.

View newest version in sPHENIX GitHub at line 223 of file EicRunSim.h

Referenced by SuppressFairRootSteppingCall(), and SuppressFairRootSteppingCallFlag().

Bool_t EicRunSim::mSuppressHitProductionFlag
private

Definition at line 222 of file EicRunSim.h.

View newest version in sPHENIX GitHub at line 222 of file EicRunSim.h

Referenced by SuppressHitProduction(), and SuppressHitProductionFlag().

Bool_t EicRunSim::mSuppressSecondariesFlag
private

Definition at line 213 of file EicRunSim.h.

View newest version in sPHENIX GitHub at line 213 of file EicRunSim.h

Referenced by RunCoreStart(), SuppressSecondaries(), and SuppressSecondariesFlag().

Bool_t EicRunSim::mTimerFlag
private

Definition at line 214 of file EicRunSim.h.

View newest version in sPHENIX GitHub at line 214 of file EicRunSim.h

Referenced by RunCoreStart(), and SuppressTimerInfo().


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