er  dev
ERGenerator.h
1 // -------------------------------------------------------------------------
2 // ----- ERGenerator header file -----
3 // ----- Created 02/14 by V.Schetinin -----
4 // -------------------------------------------------------------------------
5 
6 #ifndef ERGENERATOR_H
7 #define ERGENERATOR_H 1
8 
9 
10 #include "FairGenerator.h" //for FairGenerator
11 #include "FairIon.h" //for FairIon
12 #include "FairPrimaryGenerator.h" //for FairPrimaryGenerator
13 
14 #include "TRandom3.h"
15 #include "TGenPhaseSpace.h" //for TGenPhaseSpace
16 
17 #include <iostream>
18 
19 //using namespace std;
20 
21 
22 class ERGenerator : public FairGenerator
23 {
24 
25  public:
26 
28  ERGenerator();
29 
30  ERGenerator(Int_t z, Int_t a, Int_t q,
31  Double_t px, Double_t py, Double_t pz,
32  Double_t vx, Double_t vy, Double_t vz);
33 
35  virtual ~ERGenerator();
36 
40  virtual Bool_t ReadEvent(FairPrimaryGenerator* primGen);
41  /*
42  void SetBeamEnergy(Double_t en){fEBeam = en;}
43  void SetGammaCMEnergy(Double_t en){fEGammaCM = en;}
44  void SetGammaCMPhiRange(Double_t phiMin, Double_t phiMax){fPhiMinCM = phiMin; fPhiMaxCM= phiMax;}
45  void SetGammaCMThetaRange(Double_t thetaMin, Double_t thetaMax){fThetaMinCM = thetaMin; fThetaMaxCM= thetaMax; }
46  void SetIon(Int_t z, Int_t a){fA = a; fZ = z;}
47  */
48 
49  //Skip some events in file
50  Bool_t SkipEvents(Int_t count);
51 
52  private:
53  Double_t fEBeam;
54  Double_t fEGammaCM;
55  Double_t fPhiMinCM, fPhiMaxCM;
56  Double_t fThetaMinCM, fThetaMaxCM;
57  Double_t fPrimaryIonMass;
58  Int_t fGammaPDG;
59 
60  static Int_t fgNIon;
61  FairIon* fPrimaryIon; // Pointer to the FairIon to be generated
62  FairIon* fSecondIon;
63  FairIon* fThirdIon;
64  Double_t fPx, fPy, fPz; // Momentum components [GeV] per nucleon
65  Double_t fVx, fVy, fVz; // Vertex coordinates [cm]
66  TGenPhaseSpace* fPHSpace;
67  TRandom3 *fRnd;
68 
69  ERGenerator(const ERGenerator&);
70  ERGenerator& operator=(const ERGenerator&);
71 
72  ClassDef(ERGenerator,1);
73 
74 };
75 
76 #endif
77 
virtual ~ERGenerator()
Definition: ERGenerator.cxx:51
virtual Bool_t ReadEvent(FairPrimaryGenerator *primGen)
Definition: ERGenerator.cxx:55
FairIon * fPrimaryIon
Number of the instance of this class.
Definition: ERGenerator.h:61