19 #ifndef ERElasticScattering_H 20 #define ERElasticScattering_H 25 #include <TLorentzVector.h> 27 enum ERInteractionParticipant{ kPROJECTILE, kTARGET, kEJECTILE};
63 void SetThetaRange(Double_t th1, Double_t th2, ERInteractionParticipant DetIonType = kPROJECTILE);
76 void SetLabThetaRange(Double_t thetaCenter, Double_t dTheta, ERInteractionParticipant DetIonType = kPROJECTILE,
77 Bool_t relMod = kTRUE, Double_t BeamAvE = 0.);
133 Bool_t DefineOfIonsMasses();
167 #endif // ERElasticScattering_H Double_t fThetaMinCM
Theta minimum for primary ion in CM [Deg].
Double_t GetThetaCMMean() const
Returns mean of thetaCM by all events in run [Deg].
Double_t fTargetIonMass
Target ion mass.
Double_t fProjectileIonMass
Projectile ion mass.
Double_t GetdThetaCDF() const
Returns ThetaCDF range value: fCDFmax-fCDFmin.
Double_t fCDFmin
ThetaCDF(fThetaMinCM) minimum.
Bool_t fRelativisticMode
kTRUE of a relativistic case is simulated and kFALSE if It isn't. kTRUE by default ...
void SetTargetIon(Int_t A, Int_t Z, Int_t Q)
Defines target ion parameters.
void SetPhiRange(Double_t phi1, Double_t phi2)
Defines range of phi value.
Double_t fPhiMax
Phi maximum for primary ion in CM [Deg].
Int_t GetInteractNumInTarget() const
Returns number of interactions on target.
void ThetaRangesLab2CMRelativistic()
The private method is to convert Lab theta range to CM for relativistic case.
void SetTargetIonMass(Double_t mass)
Defines target ion mass.
TF1 * fThetaCDF
Pointer to theta CDF function.
TF1 * fThetaInvCDF
Pointer to inversety theta CDF function.
ERInteractionParticipant fDetectionIonType
Ion status TODO.
void SetThetaCDF(TString fileName)
Defines file name that contains the value of theta CDF.
ERElasticScattering(TString name)
Constructor with reaction name.
Double_t fCDFmax
ThetaCDF(fThetaMaxCM) maximum.
TString fTargetIonName
Target ion name.
void SetProjectileIonMass(Double_t mass)
Defines primary ion mass.
Double_t fPhiMin
Phi minimum for primary ion in CM [Deg].
Double_t GetProjectileIonMass() const
Returns projectile ion mass.
Double_t ThetaGen()
The private method is to generate theta value.
TParticlePDG * fTargetIonPDG
Target ion PDG.
void SetLabThetaRange(Double_t thetaCenter, Double_t dTheta, ERInteractionParticipant DetIonType=kPROJECTILE, Bool_t relMod=kTRUE, Double_t BeamAvE=0.)
Defines theta position for detector slot center in Lab.
Double_t fThetaRangedTheta
The half-width of the range of theta.
Double_t fThetaRangeCenter
Theta range's center.
Bool_t ThetaCDFRead()
The private method is to read ThetaCDF cumulative function file.
TString fThetaFileName
File name that contains theta CDF values.
Double_t fThetaCMSum
Sum of thetaCM by all events in run.
Double_t GetTargetIonMass() const
Returns target ion mass.
Double_t fBeamAverageEnergy
Avarage Energy of the beam.
void SetThetaRange(Double_t th1, Double_t th2, ERInteractionParticipant DetIonType=kPROJECTILE)
Defines range of theta value.
Double_t fThetaMaxCM
Theta maximum for primary ion in CM [Deg].
Int_t fInteractNumInTarget
Interactions counter in target (by all events in run)
void ThetaRangesLab2CM()
The private method is to convert Lab theta range to CM.
Class for the elastic scattering simulate.
virtual ~ERElasticScattering()
Destructor.
Double_t GetdPhi() const
Returns phi range value: fPh2-fPhiMin.