10#ifndef CBMVMCSETTINGS_H
11#define CBMVMCSETTINGS_H 1
25void CheckValueInRange(
const T& value,
const T& low,
const T& high, std::string functionName)
27 if ((value < low) || (value > high)) {
28 LOG(fatal) <<
"You try to set the value " << value <<
"which is out of the bounds(" << low <<
"," << high
29 <<
") for the function " << functionName;
48 void Init(TVirtualMC*);
void CheckValueInRange(const T &value, const T &low, const T &high, std::string functionName)
User interface class to define the transport simulation settings which are common for both used trans...
void SetEnergyCutChargedHadrons(Double_t val)
Set the energy threshold for the transport of charged hadrons and ions.
Int_t fProcessComptonScattering
void SetTimeCutTof(Double_t val)
Set the time of flight threshold from the primary interaction time.
void Init(TVirtualMC *)
Set all parameters defined in this class.
void SetEnergyCutMuonDeltaRay(Double_t val)
Set the energy threshold for electrons produced by muon or hadron delta-rays.
ClassDef(CbmVMCSettings, 1)
Int_t fProcessBremsstrahlung
Double_t fEnergyCutElectronBremsstrahlung
Int_t fProcessPhotoEffect
void SetProcessPairProduction(Int_t val)
Control the pair production process.
void SetProcessMuonNuclearInteraction(Int_t val)
Control the muon-nucleus interaction.
void SetEnergyCutMuonHadronBremsstrahlung(Double_t val)
Set the energy threshold for photons produced by muon bremsstrahlung.
void SetProcessEnergyLossModel(Int_t val)
Control the continuous enery loss process.
~CbmVMCSettings()=default
void SetEnergyCutElectronBremsstrahlung(Double_t val)
Set the energy threshold for photons produced by electron bremsstrahlung.
void SetProcessAnnihilation(Int_t val)
Control the positron annihilation process.
void SetProcessComptonScattering(Int_t val)
Control the Compton scattering process.
Double_t fEnergyCutGammas
void SetProcessDecay(Int_t val)
Control the decay of particles in flight.
Double_t fEnergyCutMuonDeltaRay
void SetProcessMultipleScattering(Int_t val)
Control the multiple scattering process.
void SetEnergyCutMuonPairProduction(Double_t val)
Set the energy threshold for e+e- direct pair production by muons.
void SetProcessPhotoFission(Int_t val)
Control the process of nuclear fission induced by a photon.
Int_t fProcessEnergyLossModel
void SetEnergyCutNeutralHadrons(Double_t val)
Set the energy threshold for the transport of neutral hadrons.
Int_t fProcessMultipleScattering
void SetProcessPhotoEffect(Int_t val)
Control the photo-electric effect.
Double_t fEnergyCutChargedHadrons
Int_t fProcessHadronicInteraction
Double_t fEnergyCutMuonPairProduction
Int_t fProcessPairProduction
void SetEnergyCutElectronDeltaRay(Double_t val)
Set the energy threshold for electrons produced by electron delta-rays.
void SetEnergyCutGammas(Double_t val)
Set the energy threshold for the transport of gammas.
void SetProcessDeltaRay(Int_t val)
Control the delta ray production.
Double_t fEnergyCutNeutralHadrons
Double_t fEnergyCutElectrons
Double_t fEnergyCutMuonHadronBremsstrahlung
CbmVMCSettings & operator=(const CbmVMCSettings &)=delete
Int_t fProcessAnnihilation
Double_t fEnergyCutElectronDeltaRay
void SetProcessHadronicInteraction(Int_t val)
Control the hadronic interactions.
CbmVMCSettings(const CbmVMCSettings &)=delete
void SetEnergyCutElectrons(Double_t val)
Set the energy threshold for the transport of electros and positrons.
void SetProcessBremsstrahlung(Int_t val)
Control the process of bremsstrahlung.
Int_t fProcessMuonNuclearInteraction
Int_t fProcessPhotoFission
void SetEnergyCutMuons(Double_t val)
Set the energy threshold for the transport of muons.