er  dev
Public Member Functions | Private Member Functions | Private Attributes | List of all members
ERIonMixGenerator Class Reference

Class for the generation different ions during one simulation. More...

#include <ERIonMixGenerator.h>

Inheritance diagram for ERIonMixGenerator:
Inheritance graph
[legend]
Collaboration diagram for ERIonMixGenerator:
Collaboration graph
[legend]

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 &)
 
ERIonMixGeneratoroperator= (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.
 

Detailed Description

Class for the generation different ions during one simulation.

Author
M.Kozlov kozlo.nosp@m.v.m..nosp@m.your@.nosp@m.yand.nosp@m.ex.ru
Version
1.0

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.

Constructor & Destructor Documentation

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.

Parameters
ionNameIon name
multNumber 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.

Parameters
zAtomic number
aAtomic mass
qElectric charge [e]
multNumber of ions per event

Definition at line 36 of file ERIonMixGenerator.cxx.

Member Function Documentation

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

Parameters
zAtomic number
aAtomic mass
qElectric charge [e]
newIonProbProbability of appearence relative to main ion

Definition at line 47 of file ERIonMixGenerator.cxx.


The documentation for this class was generated from the following files: