er
dev
|
Class for the generation different ions during one simulation. More...
#include <ERIonMixGenerator.h>
Public Member Functions | |
ERIonMixGenerator () | |
ERIonMixGenerator (const Char_t *ionName, Int_t mult) | |
Constructor with ion name For the generation of ions with pre-defined FairIon By default, the excitation energy is zero. This can be changed with the respective modifiers inherited from ERIonGenerator. More... | |
ERIonMixGenerator (TString name, Int_t z, Int_t a, Int_t q, Int_t mult) | |
Constructor For the generation of primary ions with atomic number z and mass number a. By default, the mass equals a times the proton mass and the excitation energy is zero. This can be changed with the respective modifiers inherited from ERIonGenerator. More... | |
virtual | ~ERIonMixGenerator () |
Destructor. | |
void | AddBackgroundIon (TString name, Int_t z, Int_t a, Int_t q, Double_t newIonProb) |
Adds background ions with probability of appearance in simulation. Probability of primary ion is 1. For background ions it normalized relative to the main ion. For example, if we have primary ion with probability 0.5 and two background ions with probabilities 0.2 and 0.3 we should pass argument newIonProb with \(\frac{0.2}{0.5}\) and \(\frac{0.3}{0.5}\) values respectively. More... | |
Bool_t | ReadEvent (FairPrimaryGenerator *primGen) |
Method ReadEvent Generates <mult> of the specified ions and hands hem to the FairPrimaryGenerator. | |
Public Member Functions inherited from ERIonGenerator | |
ERIonGenerator () | |
Default constructor. | |
ERIonGenerator (const Char_t *ionName, Int_t mult) | |
Constructor with ion name For the generation of ions with pre-defined FairIon By default, the excitation energy is zero. This can be changed with the respective modifiers. More... | |
ERIonGenerator (TString name, Int_t z, Int_t a, Int_t q, Int_t mult) | |
Default constructor For the generation of ions with atomic number z and mass number a. By default, the mass equals a times the proton mass and the excitation energy is zero. This can be changed with the respective modifiers. More... | |
virtual | ~ERIonGenerator () |
Destructor. | |
void | SetCharge (Int_t charge) |
Defines ion charge. More... | |
void | SetExcitationEnergy (Double_t eExc) |
Defines ion excitation energy of generated FairIon object. More... | |
void | SetPDGType (Int_t pdg) |
void | SetMultiplicity (Int_t mult) |
Defines number of ions generated per event. More... | |
void | SetPRange (Double32_t pmin=0, Double32_t pmax=10) |
Defines uniform distribution boundaries of ion momentum[GeV]. More... | |
void | SetPtRange (Double32_t ptmin=0, Double32_t ptmax=10) |
Defines uniform distribution boundaries of ion transverse momentum[GeV]. More... | |
void | SetPhiRange (Double32_t phimin=0, Double32_t phimax=360) |
Defines uniform distribution boundaries of ion azimuth angle[degree]. More... | |
void | SetEtaRange (Double32_t etamin=-5, Double32_t etamax=7) |
Defines uniform distribution boundaries of ion pseudorapidity in lab system. More... | |
void | SetYRange (Double32_t ymin=-5., Double32_t ymax=7.) |
Defines uniform distribution boundaries of ion rapidity in lab system. More... | |
void | SetThetaRange (Double32_t thetamin=0., Double32_t thetamax=90.) |
Defines uniform distribution boundaries of ion polar angle in lab system [degree]. More... | |
void | SetThetaSigma (Double32_t theta=0., Double32_t sigmaTheta=1.) |
Defines Gaussian distribution of ion polar angle in lab system [degree]. More... | |
void | SetCosTheta () |
Defines kTRUE flag . More... | |
void | SetXYZ (Double32_t x=0, Double32_t y=0, Double32_t z=0) |
Defines fixed start position of ion beam in Cartesian coordinates relative to the global cave сoordinate system . More... | |
void | SetRoundXY (Double32_t rho=0, Double32_t centerX=0, Double32_t centerY=0, Double32_t centerZ=0) |
Defines the round spreading in XY plane. More... | |
void | SetBoxXYZ (Double32_t x1=0, Double32_t y1=0, Double32_t x2=0, Double32_t y2=0, Double32_t z=0) |
Defines uniform distribution boundaries of ion start position on X and Y axis and fixed poition on Z axie in Cartesian coordinates relative to the global cave сoordinate system . More... | |
void | SetSigmaXYZ (Double32_t x=0, Double32_t y=0, Double32_t z=0, Double32_t sigmaX=1, Double32_t sigmaY=1) |
Defines Gaussian distribution of ion start position on X and Y axis and fixed poition on Z axie in Cartesian coordinates relative to the global cave сoordinate system. More... | |
void | SetKinERange (Double32_t kinEMin, Double32_t kinEMax) |
Defines uniform distribution boundaries of ion kinetic energy [GeV]. More... | |
void | SetKinESigma (Double32_t kinE, Double32_t sigmaKinE) |
Defines Gaussian distribution of ion kinetic energy [GeV]. More... | |
void | SetPSigma (Double32_t p=0, Double32_t sigma=1) |
Defines Gaussian distribution of ion momentum [GeV]. More... | |
void | SetDebug (Bool_t debug=0) |
void | SpreadingOnTarget (void) |
Sets spreading of x and y coordinates on target (where z-position is zero) and reconstruct them to the beam start position (to settes z-coordinate) along momentum vector. By default spreading of x and y coordinates implements on setted z-coordinate. | |
FairIon * | Ion () |
Returns FairIon object. More... | |
void | SetKinE (Double32_t kinE) |
Defines fixed ion kinetic energy that is recalculated to the momentum according to equation \[ P=\sqrt{T^2+2*T*m*c^2}\] , where \(T\) - kinetic energy. More... | |
void | SetPSigmaOverP (Double32_t sigmaPOverP) |
Defines standard deviation of ion momentum as a percentage of full momentum. More... | |
Private Member Functions | |
ERIonMixGenerator (const ERIonMixGenerator &) | |
ERIonMixGenerator & | operator= (const ERIonMixGenerator &) |
Private Attributes | |
std::map< Double_t, TString > | fBgIons |
Background ion names with emegence probability. | |
Double_t | fSumProbability |
Background ions summary probability. | |
Additional Inherited Members | |
Protected Member Functions inherited from ERIonGenerator | |
void | SpreadingParameters (void) |
Spreads parameters recieved by accessor methods. | |
Protected Attributes inherited from ERIonGenerator | |
Int_t | fMult |
Multiplicity per event. | |
FairIon * | fIon |
Pointer to the FairIon to be generated. | |
Int_t | fQ |
Electric charge [e]. | |
TString | fName |
Ion name. | |
Int_t | fPDGType |
Particle type (PDG encoding) | |
Double32_t | fIonMass |
Ion mass + Ion Exitation [GeV]. | |
Double32_t | fPtMin |
Double32_t | fPtMax |
Transverse momentum range [GeV]. | |
Double32_t | fPhiMin |
Double32_t | fPhiMax |
Azimuth angle range [degree]. | |
Double32_t | fEtaMin |
Double32_t | fEtaMax |
Pseudorapidity range in lab system. | |
Double32_t | fYMin |
Double32_t | fYMax |
Rapidity range in lab system. | |
Double32_t | fPMin |
Double32_t | fPMax |
Momentum range in lab system. | |
Double32_t | fThetaMin |
Double32_t | fThetaMax |
Polar angle range in lab system [degree]. | |
Double32_t | fX |
Double32_t | fY |
Double32_t | fZ |
Point vertex coordinates [cm]. | |
Double32_t | fX1 |
Double32_t | fY1 |
Double32_t | fX2 |
Double32_t | fY2 |
Box vertex coords (x1,y1)->(x2,y2) | |
Double32_t | fPx |
Double32_t | fPy |
Double32_t | fPz |
Momentum projection [GeV]. | |
Double32_t | fGausX |
Double32_t | fGausY |
Amplitude values of coordinates in Gauss distibution [cm]. | |
Double32_t | fSigmaX |
Double32_t | fSigmaY |
Coordinates normal deviation [cm]. | |
Double32_t | fGausP |
Amplitude value of momentum in Gauss distibution [GeV]. | |
Double32_t | fSigmaP |
Momentum normal deviation [GeV]. | |
Double32_t | fGausTheta |
Amplitude value of theta angle in Gauss distibution [degree]. | |
Double32_t | fSigmaTheta |
Theta angle normal deviation [degree]. | |
Double32_t | fKinE |
Kinetic energy [GeV]. | |
Double32_t | fRho |
Double32_t | fCenterX |
Double32_t | fCenterY |
Bool_t | fEtaRangeIsSet |
True if eta range is set. | |
Bool_t | fYRangeIsSet |
True if rapidity range is set. | |
Bool_t | fThetaRangeIsSet |
True if theta range is set. | |
Bool_t | fCosThetaIsSet |
True if uniform distribution in cos(theta) is set (default -> not set) | |
Bool_t | fPtRangeIsSet |
True if transverse momentum range is set. | |
Bool_t | fPRangeIsSet |
True if abs momentum range is set. | |
Bool_t | fPointVtxIsSet |
True if point vertex is set. | |
Bool_t | fBoxVtxIsSet |
True if box vertex is set. | |
Bool_t | fBoxSigmaIsSet |
True if Gauss distribution for coordinates is set. | |
Bool_t | fSigmaPIsSet |
True if Gauss distribution for momentum is set. | |
Bool_t | fDebug |
Debug switch. | |
Bool_t | fSpreadingOnTarget |
True if parameters are spreaded on target and reconstructed to beam start position. | |
Bool_t | fSigmaThetaIsSet |
True if Gauss distribution for theta angle is set. | |
Bool_t | fRoundXYIsSet |
True if spot spreading of the start position in XY-plane is setted. | |
Class for the generation different ions during one simulation.
The ERIonMixGenerator defines the parameters of primary ion and background ions which participates in simulation. It provides interfaces for determining different types of dimentional, angular and energy distributions at beam start position. Also it allows to add background ions with certain probability of appearence. Probability of primary ion is 1. For background ions it normalized relative to the main ion.
Definition at line 36 of file ERIonMixGenerator.h.
ERIonMixGenerator::ERIonMixGenerator | ( | ) |
Default constructor
Definition at line 28 of file ERIonMixGenerator.cxx.
ERIonMixGenerator::ERIonMixGenerator | ( | const Char_t * | ionName, |
Int_t | mult | ||
) |
Constructor with ion name For the generation of ions with pre-defined FairIon By default, the excitation energy is zero. This can be changed with the respective modifiers inherited from ERIonGenerator.
ionName | Ion name |
mult | Number of ions per event |
ERIonMixGenerator::ERIonMixGenerator | ( | TString | name, |
Int_t | z, | ||
Int_t | a, | ||
Int_t | q, | ||
Int_t | mult | ||
) |
Constructor For the generation of primary ions with atomic number z and mass number a. By default, the mass equals a times the proton mass and the excitation energy is zero. This can be changed with the respective modifiers inherited from ERIonGenerator.
z | Atomic number |
a | Atomic mass |
q | Electric charge [e] |
mult | Number of ions per event |
Definition at line 36 of file ERIonMixGenerator.cxx.
void ERIonMixGenerator::AddBackgroundIon | ( | TString | name, |
Int_t | z, | ||
Int_t | a, | ||
Int_t | q, | ||
Double_t | newIonProb | ||
) |
Adds background ions with probability of appearance in simulation. Probability of primary ion is 1. For background ions it normalized relative to the main ion. For example, if we have primary ion with probability 0.5 and two background ions with probabilities 0.2 and 0.3 we should pass argument newIonProb with \(\frac{0.2}{0.5}\) and \(\frac{0.3}{0.5}\) values respectively.
Modifiers
z | Atomic number |
a | Atomic mass |
q | Electric charge [e] |
newIonProb | Probability of appearence relative to main ion |
Definition at line 47 of file ERIonMixGenerator.cxx.