11#define CBMTRANSPORT_H 1
76 void AddInput(FairGenerator* generator);
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.);
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);
ECbmDataType
Enumerator for CBM data types.
User interface class to define the Geant3 simulation settings.
User interface class to define the Geant4 simulation settings.
Class for constructing the geometry of the CBM target.
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.