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

Class for the generation ion. More...

#include <ERIonGenerator.h>

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

Public Member Functions

 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...
 
virtual Bool_t ReadEvent (FairPrimaryGenerator *primGen)
 
Group of methods that are used collaborative.

Method SetKinE() defines ion kinetic energy that is recalculated to the momentum. Momentum is normally distributed according to standart deviation that is defined by SetPSigmaOverP() method.

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...
 

Protected Member Functions

void SpreadingParameters (void)
 Spreads parameters recieved by accessor methods.
 

Protected Attributes

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.
 

Private Member Functions

 ERIonGenerator (const ERIonGenerator &)
 
ERIonGeneratoroperator= (const ERIonGenerator &)
 
 ClassDef (ERIonGenerator, 1)
 

Detailed Description

Class for the generation ion.

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

The ERIonGenerator defines the parameters of ion that participates in simulation. It provides interfaces for determining different types of dimentional, angular and energy distributions of beam start position.

Definition at line 29 of file ERIonGenerator.h.

Constructor & Destructor Documentation

ERIonGenerator::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.

Parameters
ionNameIon name
multNumber of ions per event

Definition at line 34 of file ERIonGenerator.cxx.

ERIonGenerator::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.

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

Definition at line 62 of file ERIonGenerator.cxx.

Member Function Documentation

FairIon* ERIonGenerator::Ion ( )
inline

Returns FairIon object.

Accessors

Definition at line 261 of file ERIonGenerator.h.

Bool_t ERIonGenerator::ReadEvent ( FairPrimaryGenerator *  primGen)
virtual

Method ReadEvent Generates <mult> of the specified ions and hands hem to the FairPrimaryGenerator.

Reimplemented in ERIonMixGenerator.

Definition at line 123 of file ERIonGenerator.cxx.

void ERIonGenerator::SetBoxXYZ ( Double32_t  x1 = 0,
Double32_t  y1 = 0,
Double32_t  x2 = 0,
Double32_t  y2 = 0,
Double32_t  z = 0 
)
inline

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 .

Parameters
x1minimum x-coordinate [cm]. By default is 0.
y1maximum y-coordinate [cm]. By default is 0.
x1minimum x-coordinate [cm]. By default is 0.
y1maximum y-coordinate [cm]. By default is 0.
zz-coordinate [cm]. By default is 0.

Definition at line 180 of file ERIonGenerator.h.

void ERIonGenerator::SetCharge ( Int_t  charge)
inline

Defines ion charge.

Modifiers

Parameters
chargeElectric charge [e]

Definition at line 66 of file ERIonGenerator.h.

void ERIonGenerator::SetCosTheta ( )
inline

Defines kTRUE flag .

Parameters
thetapolar angle. By default is 0 degrees.
sigmaThetastandard deviation of polar angle. By default is 1.

Definition at line 137 of file ERIonGenerator.h.

void ERIonGenerator::SetEtaRange ( Double32_t  etamin = -5,
Double32_t  etamax = 7 
)
inline

Defines uniform distribution boundaries of ion pseudorapidity in lab system.

Parameters
etaminminimun pseudorapidity. By default is -5.
etamaxmaximum pseudorapidity. By default is 7.

Definition at line 105 of file ERIonGenerator.h.

void ERIonGenerator::SetExcitationEnergy ( Double_t  eExc)

Defines ion excitation energy of generated FairIon object.

Parameters
eExcexcitation energy [GeV]

Definition at line 98 of file ERIonGenerator.cxx.

void ERIonGenerator::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.

Parameters
kinEkinetic energy [GeV].

Definition at line 118 of file ERIonGenerator.cxx.

void ERIonGenerator::SetKinERange ( Double32_t  kinEMin,
Double32_t  kinEMax 
)

Defines uniform distribution boundaries of ion kinetic energy [GeV].

Parameters
kinEMinminimun ion kinetic energy [GeV].
kinEMaxmaximum ion kinetic energy [GeV].

Definition at line 104 of file ERIonGenerator.cxx.

void ERIonGenerator::SetKinESigma ( Double32_t  kinE,
Double32_t  sigmaKinE 
)

Defines Gaussian distribution of ion kinetic energy [GeV].

Parameters
kinEkinetic energy [GeV].
sigmaKinEstandard deviation of kinetic energy.

Definition at line 111 of file ERIonGenerator.cxx.

void ERIonGenerator::SetMultiplicity ( Int_t  mult)
inline

Defines number of ions generated per event.

Parameters
multNumber of ions per event

Definition at line 78 of file ERIonGenerator.h.

void ERIonGenerator::SetPhiRange ( Double32_t  phimin = 0,
Double32_t  phimax = 360 
)
inline

Defines uniform distribution boundaries of ion azimuth angle[degree].

Parameters
phiminminimun azimuth angle [degree]. By default is zero.
phimaxmaximum azimuth angle [degree]. By default is 360 degrees.

Definition at line 98 of file ERIonGenerator.h.

void ERIonGenerator::SetPRange ( Double32_t  pmin = 0,
Double32_t  pmax = 10 
)
inline

Defines uniform distribution boundaries of ion momentum[GeV].

Parameters
pminminimun ion momentum [GeV]. By default is zero.
pminmaximum ion momentum [GeV]. By default is 10 [GeV].

Definition at line 84 of file ERIonGenerator.h.

void ERIonGenerator::SetPSigma ( Double32_t  p = 0,
Double32_t  sigma = 1 
)
inline

Defines Gaussian distribution of ion momentum [GeV].

Parameters
pmomentum [GeV].
sigmastandard deviation of momentum.

Definition at line 245 of file ERIonGenerator.h.

void ERIonGenerator::SetPSigmaOverP ( Double32_t  sigmaPOverP)
inline

Defines standard deviation of ion momentum as a percentage of full momentum.

Parameters
sigmaPOverPpercentage of ion momentum.

Definition at line 238 of file ERIonGenerator.h.

void ERIonGenerator::SetPtRange ( Double32_t  ptmin = 0,
Double32_t  ptmax = 10 
)
inline

Defines uniform distribution boundaries of ion transverse momentum[GeV].

Parameters
ptminminimun ion transverse momentum [GeV]. By default is zero.
ptmaxmaximum ion transverse momentum [GeV]. By default is 10 [GeV].

Definition at line 91 of file ERIonGenerator.h.

void ERIonGenerator::SetRoundXY ( Double32_t  rho = 0,
Double32_t  centerX = 0,
Double32_t  centerY = 0,
Double32_t  centerZ = 0 
)
inline

Defines the round spreading in XY plane.

Parameters
rhospot radius [cm]. By default is 0.
centerXx-coordinate of the spot center [cm]. By default is 0.
centerYy-coordinate of the spot center [cm]. By default is 0.
centerZz-coordinate of the spot center [cm]. By default is 0.

Definition at line 159 of file ERIonGenerator.h.

void ERIonGenerator::SetSigmaXYZ ( Double32_t  x = 0,
Double32_t  y = 0,
Double32_t  z = 0,
Double32_t  sigmaX = 1,
Double32_t  sigmaY = 1 
)
inline

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.

Parameters
xx-coordinate [cm]. By default is 0.
yy-coordinate [cm]. By default is 0.
zz-coordinate [cm]. By default is 0.
sigmaXstandard deviation of x-coordinate [cm]. By default is 1.
sigmaYstandard deviation of y-coordinate [cm]. By default is 1.

Definition at line 198 of file ERIonGenerator.h.

void ERIonGenerator::SetThetaRange ( Double32_t  thetamin = 0.,
Double32_t  thetamax = 90. 
)
inline

Defines uniform distribution boundaries of ion polar angle in lab system [degree].

Parameters
thetaminminimun polar angle. By default is 0 degrees.
thetamaxmaximum polar angle. By default is 90 degrees.

Definition at line 119 of file ERIonGenerator.h.

void ERIonGenerator::SetThetaSigma ( Double32_t  theta = 0.,
Double32_t  sigmaTheta = 1. 
)
inline

Defines Gaussian distribution of ion polar angle in lab system [degree].

Parameters
thetapolar angle. By default is 0 degrees.
sigmaThetastandard deviation of polar angle. By default is 1.

Definition at line 126 of file ERIonGenerator.h.

void ERIonGenerator::SetXYZ ( Double32_t  x = 0,
Double32_t  y = 0,
Double32_t  z = 0 
)
inline

Defines fixed start position of ion beam in Cartesian coordinates relative to the global cave сoordinate system .

Parameters
xx-coordinate [cm]. By default is 0.
yy-coordinate [cm]. By default is 0.
zz-coordinate [cm]. By default is 0.

Definition at line 146 of file ERIonGenerator.h.

void ERIonGenerator::SetYRange ( Double32_t  ymin = -5.,
Double32_t  ymax = 7. 
)
inline

Defines uniform distribution boundaries of ion rapidity in lab system.

Parameters
yminminimun rapidity. By default is -5.
ymaxmaximum rapidity. By default is 7.

Definition at line 112 of file ERIonGenerator.h.


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