9 #ifndef ERIonGenerator_H 10 #define ERIonGenerator_H 15 #include "FairGenerator.h" 18 class FairPrimaryGenerator;
56 ERIonGenerator(TString name, Int_t z, Int_t a, Int_t q, Int_t mult);
73 void SetPDGType (Int_t pdg) {
fPDGType = pdg; };
84 void SetPRange(Double32_t pmin = 0 , Double32_t pmax = 10)
91 void SetPtRange (Double32_t ptmin = 0 , Double32_t ptmax = 10)
98 void SetPhiRange (Double32_t phimin = 0 , Double32_t phimax = 360)
99 {fPhiMin=phimin;
fPhiMax=phimax;};
112 void SetYRange(Double32_t ymin = -5., Double32_t ymax = 7.)
146 void SetXYZ (Double32_t x = 0, Double32_t y = 0, Double32_t z = 0) {
160 Double32_t centerX = 0,
161 Double32_t centerY = 0,
162 Double32_t centerZ = 0)
180 void SetBoxXYZ (Double32_t x1=0, Double32_t y1=0, Double32_t x2=0, Double32_t y2=0, Double32_t z=0) {
199 Double32_t sigmaX=1, Double32_t sigmaY=1)
213 void SetKinERange(Double32_t kinEMin, Double32_t kinEMax);
219 void SetKinESigma(Double32_t kinE, Double32_t sigmaKinE);
248 void SetDebug(Bool_t debug=0) {
fDebug = debug;}
268 virtual Bool_t
ReadEvent(FairPrimaryGenerator* primGen);
291 Double32_t fX, fY,
fZ;
292 Double32_t fX1, fY1, fX2,
fY2;
301 Double32_t fRho, fCenterX, fCenterY;
325 #endif // ERIonGenerator_H Bool_t fRoundXYIsSet
True if spot spreading of the start position in XY-plane is setted.
Double32_t fPhiMax
Azimuth angle range [degree].
Double32_t fGausTheta
Amplitude value of theta angle in Gauss distibution [degree].
void SetThetaRange(Double32_t thetamin=0., Double32_t thetamax=90.)
Defines uniform distribution boundaries of ion polar angle in lab system [degree].
Bool_t fPtRangeIsSet
True if transverse momentum range is set.
Double32_t fGausP
Amplitude value of momentum in Gauss distibution [GeV].
Double32_t fYMax
Rapidity range in lab system.
Bool_t fYRangeIsSet
True if rapidity range is set.
Double32_t fThetaMax
Polar angle range in lab system [degree].
void SetKinERange(Double32_t kinEMin, Double32_t kinEMax)
Defines uniform distribution boundaries of ion kinetic energy [GeV].
Bool_t fEtaRangeIsSet
True if eta range is set.
Bool_t fDebug
Debug switch.
void SetKinESigma(Double32_t kinE, Double32_t sigmaKinE)
Defines Gaussian distribution of ion kinetic energy [GeV].
void SetPSigma(Double32_t p=0, Double32_t sigma=1)
Defines Gaussian distribution of ion momentum [GeV].
void SetThetaSigma(Double32_t theta=0., Double32_t sigmaTheta=1.)
Defines Gaussian distribution of ion polar angle in lab system [degree].
Int_t fMult
Multiplicity per event.
Double32_t fGausY
Amplitude values of coordinates in Gauss distibution [cm].
void SetKinE(Double32_t kinE)
Defines fixed ion kinetic energy that is recalculated to the momentum according to equation ...
Double32_t fZ
Point vertex coordinates [cm].
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 ...
void SetYRange(Double32_t ymin=-5., Double32_t ymax=7.)
Defines uniform distribution boundaries of ion rapidity in lab system.
Bool_t fPRangeIsSet
True if abs momentum range is set.
void SetMultiplicity(Int_t mult)
Defines number of ions generated per event.
void SetEtaRange(Double32_t etamin=-5, Double32_t etamax=7)
Defines uniform distribution boundaries of ion pseudorapidity in lab system.
Bool_t fThetaRangeIsSet
True if theta range is set.
Double32_t fIonMass
Ion mass + Ion Exitation [GeV].
void SetPRange(Double32_t pmin=0, Double32_t pmax=10)
Defines uniform distribution boundaries of ion momentum[GeV].
Bool_t fSigmaThetaIsSet
True if Gauss distribution for theta angle is set.
Int_t fPDGType
Particle type (PDG encoding)
Double32_t fKinE
Kinetic energy [GeV].
Double32_t fSigmaY
Coordinates normal deviation [cm].
Bool_t fSpreadingOnTarget
True if parameters are spreaded on target and reconstructed to beam start position.
virtual ~ERIonGenerator()
Destructor.
Double32_t fSigmaTheta
Theta angle normal deviation [degree].
Bool_t fPointVtxIsSet
True if point vertex is set.
Double32_t fPtMax
Transverse momentum range [GeV].
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 Ca...
void SetExcitationEnergy(Double_t eExc)
Defines ion excitation energy of generated FairIon object.
void SetCosTheta()
Defines kTRUE flag .
FairIon * fIon
Pointer to the FairIon to be generated.
void SpreadingParameters(void)
Spreads parameters recieved by accessor methods.
Int_t fQ
Electric charge [e].
void SetCharge(Int_t charge)
Defines ion charge.
Bool_t fBoxSigmaIsSet
True if Gauss distribution for coordinates is set.
Bool_t fCosThetaIsSet
True if uniform distribution in cos(theta) is set (default -> not set)
Bool_t fBoxVtxIsSet
True if box vertex is set.
Double32_t fPz
Momentum projection [GeV].
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 Ńoordin...
FairIon * Ion()
Returns FairIon object.
void SetPSigmaOverP(Double32_t sigmaPOverP)
Defines standard deviation of ion momentum as a percentage of full momentum.
void SetPtRange(Double32_t ptmin=0, Double32_t ptmax=10)
Defines uniform distribution boundaries of ion transverse momentum[GeV].
Double32_t fPMax
Momentum range in lab system.
void SetPhiRange(Double32_t phimin=0, Double32_t phimax=360)
Defines uniform distribution boundaries of ion azimuth angle[degree].
ERIonGenerator()
Default constructor.
Double32_t fY2
Box vertex coords (x1,y1)->(x2,y2)
virtual Bool_t ReadEvent(FairPrimaryGenerator *primGen)
Double32_t fSigmaP
Momentum normal deviation [GeV].
void SpreadingOnTarget(void)
Sets spreading of x and y coordinates on target (where z-position is zero) and reconstruct them to th...
Double32_t fEtaMax
Pseudorapidity range in lab system.
Class for the generation ion.
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.
Bool_t fSigmaPIsSet
True if Gauss distribution for momentum is set.