ATTPCROOT  0.3.0-alpha
A ROOT-based framework for analyzing data from active target detectors
AtTPCIonPhaseSpace.h
Go to the documentation of this file.
1 // -------------------------------------------------------------------------
2 // ----- AtTPCIonPhaseSpace header file -----
3 // ----- Inherit from FairIonGenerator -----
4 // ----- Created 14/07/15 by Y. Ayyad -----
5 // -------------------------------------------------------------------------
6 
7 #ifndef AtTPCIonPhaseSpace_H
8 #define AtTPCIonPhaseSpace_H
9 
10 #include <FairGenerator.h>
11 
12 #include <Rtypes.h>
13 
14 #include <vector>
15 
16 class FairPrimaryGenerator;
17 class FairIon;
18 class TBuffer;
19 class TClass;
20 class TMemberInspector;
21 
22 class AtTPCIonPhaseSpace : public FairGenerator {
23 
24 public:
27 
40  AtTPCIonPhaseSpace(const char *name, std::vector<Int_t> *z, std::vector<Int_t> *a, std::vector<Int_t> *q, Int_t mult,
41  std::vector<Double_t> *px, std::vector<Double_t> *py, std::vector<Double_t> *pz,
42  std::vector<Double_t> *mass, Double_t ResEner, Int_t ZB, Int_t AB, Double_t PxB, Double_t PyB,
43  Double_t PzB, Double_t BMass, Double_t TMass);
44 
46 
47  AtTPCIonPhaseSpace &operator=(const AtTPCIonPhaseSpace &) { return *this; }
48 
49  virtual Bool_t ReadEvent(FairPrimaryGenerator *primGen);
50 
52  virtual ~AtTPCIonPhaseSpace() = default;
53 
54 private:
55  static Int_t fgNIon;
56  Int_t fMult; // Multiplicity per event
57  std::vector<Double_t> fPx, fPy, fPz; // Momentum components [GeV] per nucleon
58  std::vector<Double_t> Masses; // Masses of the N products
59  Double_t fVx, fVy, fVz; // Vertex coordinates [cm]
60  std::vector<FairIon *> fIon; // Pointer to the FairIon to be generated
61  std::vector<Int_t> fQ; // Electric charge [e]
62  // std::vector<Int_t> fA;
63  // std::vector<Int_t> fZ;
64  Double_t fBeamEnergy{}; // Residual beam energy for phase calculation
65  Double_t fBeamEnergy_buff{}; // Residual beam energy for phase calculation
66  Int_t fZBeam{};
67  Int_t fABeam{};
68  Double_t fPxBeam{};
69  Double_t fPyBeam{};
70  Double_t fPzBeam{};
71  Bool_t fIsDecay{};
72  Double_t fBeamMass{};
73  Double_t fTargetMass{};
74 
75  ClassDef(AtTPCIonPhaseSpace, 2)
76 };
77 
78 #endif
AtTPCIonPhaseSpace
Definition: AtTPCIonPhaseSpace.h:22
AtTPCIonPhaseSpace::operator=
AtTPCIonPhaseSpace & operator=(const AtTPCIonPhaseSpace &)
Definition: AtTPCIonPhaseSpace.h:47
AtTPCIonPhaseSpace::AtTPCIonPhaseSpace
AtTPCIonPhaseSpace(const AtTPCIonPhaseSpace &)
AtTPCIonPhaseSpace::~AtTPCIonPhaseSpace
virtual ~AtTPCIonPhaseSpace()=default
AtTPCIonPhaseSpace::ReadEvent
virtual Bool_t ReadEvent(FairPrimaryGenerator *primGen)
Definition: AtTPCIonPhaseSpace.cxx:72
AtTPCIonPhaseSpace::AtTPCIonPhaseSpace
AtTPCIonPhaseSpace()
Definition: AtTPCIonPhaseSpace.cxx:23