11#define CBMTRANSPORT_H 1
76 void AddInput(FairGenerator* generator);
145 void Run(Int_t nEvents);
161 void SetBeamAngle(Double_t x0, Double_t y0, Double_t sigmaX = -1., Double_t sigmaY = -1.);
180 void SetBeamPosition(Double_t x0, Double_t y0, Double_t sigmaX = -1., Double_t sigmaY = -1., Double_t zF = 0.);
191 void SetDecayMode(Int_t pdg, UInt_t nDaughters, Int_t* daughterPdg);
286 void SetTarget(
const char* medium =
"Gold", Double_t thickness = 0.025, Double_t diameter = 2.5, Double_t
x = 0.,
287 Double_t
y = 0., Double_t z = -44.0, Double_t rot = 0., Double_t density = -1);
User interface class to define the Geant3 simulation settings.
User interface class to define the Geant4 simulation settings.
void SetMediaFilePath(std::string filePath)
Class for constructing the geometry of the CBM target.
User interface class for transport simulation.
void SetDecayMode(Int_t pdg, UInt_t nDaughters, Int_t *daughterPdg)
Set a decay mode for a particle.
void SetTarget(const char *medium="Gold", Double_t thickness=0.025, Double_t diameter=2.5, Double_t x=0., Double_t y=0., Double_t z=-44.0, Double_t rot=0., Double_t density=-1)
Define the target.
void SetEventFilterMinNofData(ECbmDataType type, Int_t value)
std::shared_ptr< CbmTarget > fTarget
void RegisterRadLength(Bool_t choice=kTRUE)
Enable registration of radiation length.
void SetField(FairField *field)
Set magnetic field.
virtual ~CbmTransport()
Destructor
void SetOutFileName(TString name, Bool_t overwrite=kFALSE)
Set the output file name.
CbmTransport()
Constructor.
void SetMediaFileName(TString fileName)
Set the media file name.
CbmGeant3Settings * fGeant3Settings
void SetStackFilter(std::unique_ptr< CbmStackFilter > &filter)
Set a user-defined stack filter class.
std::unique_ptr< CbmMCEventFilter > fEventFilter
std::function< void()> fSimSetup
void SetGeoFileName(TString name)
Define geometry file name (output)
void LoadSetup(const char *setupName)
Use a standard setup.
void PiAndEtaDecay(TVirtualMC *vmc)
Correct decay modes for pi0 and eta.
void SetBeamPosition(Double_t x0, Double_t y0, Double_t sigmaX=-1., Double_t sigmaY=-1., Double_t zF=0.)
Set the beam position.
void SetRandomEventPlane(Double_t phiMin=0., Double_t phiMax=2. *TMath::Pi())
Activate random event plane.
void AddInput(const char *fileName, ECbmGenerator generator=kUnigen)
Add an input by file name and generator type.
void SetGeant3Settings(CbmGeant3Settings *val)
Set user defined transport settings for Geant3.
void SetVertexSmearZ(Bool_t choice=kTRUE)
Enable smearing of event vertex in z.
CbmSetup * GetSetup() const
Detector setup interface.
void ConfigureVMC()
Set the parameters for the TVirtualMC.
void ForceVertexAtZ(Double_t zVertex)
Force the event vertex to be at a given z position.
ClassDef(CbmTransport, 4)
void SetGeant4Settings(CbmGeant4Settings *val)
Set user defined transport settings for Geant4.
std::unique_ptr< CbmStackFilter > & GetStackFilter()
Access to stack filter object.
std::vector< FairGenerator * > fGenerators
void SetRandomSeed(const ULong_t seedValue)
Set global random seed value.
void RegisterIons()
Register ions.
void SetParFileName(TString name)
Define parameter file name.
void SetEngine(ECbmEngine engine)
Set transport engine.
std::unique_ptr< CbmStackFilter > fStackFilter
void SetVertexSmearXY(Bool_t choice=kTRUE)
Enable smearing of event vertex in x and y.
void ForceUserDecays()
Force user-defined single-mode decays.
Bool_t fStoreTrajectories
void GenerateRunInfo(Bool_t choice=kTRUE)
Trigger generation of a run info file.
void StoreTrajectories(Bool_t choice=kTRUE)
Enable storing of trajectories.
void InitEventGenerator()
Event generator initialisation.
void SetSetupSource(ECbmSetupSource setupSource)
Set the source the setup will be loaded from.
void RegisterSetup()
Create and register the setup modules.
CbmGeant4Settings * fGeant4Settings
void Run(Int_t nEvents)
Execute transport run.
std::map< Int_t, std::vector< Int_t > > fDecayModes
CbmEventGenerator * fEventGen
void SetBeamAngle(Double_t x0, Double_t y0, Double_t sigmaX=-1., Double_t sigmaY=-1.)
Set the beam angle (emittency at the beam position)
void ForceVertexInTarget(Bool_t choice=kTRUE)
Enable or disable forcing the vertex to be in the target.
void SetEventFilter(std::unique_ptr< CbmMCEventFilter > &filter)
Set a user-defined event filter class.