ATTPCROOT  0.3.0-alpha
A ROOT-based framework for analyzing data from active target detectors
AtTPC_d2He.h
Go to the documentation of this file.
1 // -------------------------------------------------------------------------
2 // ----- AtTPC_d2He header file -----
3 // ----- Inherit from FairIonGenerator ----
4 // ----- Created 29/08/16 by J. C. Zamora -----
5 // -------------------------------------------------------------------------
6 
7 #ifndef AtTPC_d2He_H
8 #define AtTPC_d2He_H
9 
10 #include <FairGenerator.h>
11 
12 #include <Rtypes.h>
13 #include <TString.h>
14 
15 #include <vector>
16 
17 class FairPrimaryGenerator;
18 class FairIon;
19 class FairParticle;
20 class TBuffer;
21 class TClass;
22 class TMemberInspector;
23 
24 class AtTPC_d2He : public FairGenerator {
25 
26 public:
28  AtTPC_d2He();
29 
30  AtTPC_d2He(const char *name, std::vector<Int_t> *z, std::vector<Int_t> *a, std::vector<Int_t> *q, Int_t mult,
31  std::vector<Double_t> *px, std::vector<Double_t> *py, std::vector<Double_t> *pz,
32  std::vector<Double_t> *mass, std::vector<Double_t> *Ex, std::vector<Double_t> *cross1,
33  std::vector<Double_t> *cross2, std::vector<Double_t> *cross3, Int_t N_data);
34 
36 
37  AtTPC_d2He &operator=(const AtTPC_d2He &) { return *this; }
38 
39  virtual Bool_t ReadEvent(FairPrimaryGenerator *primGen);
40  virtual std::vector<Double_t>
41  TRANSF(std::vector<Double_t> *from, std::vector<Double_t> *to, std::vector<Double_t> *vin);
42  virtual Double_t omega(Double_t x, Double_t y, Double_t z);
43  Int_t goodEvts{};
44  Int_t badEvts{};
45 
47  virtual ~AtTPC_d2He() = default;
48 
49 private:
50  static Int_t fgNIon;
51  Int_t fMult; // Multiplicity per event
52  Bool_t fIsDecay{};
53  Double_t fVx, fVy, fVz; // Vertex coordinates [cm]
54  std::vector<FairIon *> fIon; // Pointer to the FairIon to be generated
55  std::vector<TString> fPType;
56  std::vector<FairParticle *> fParticle;
57  std::vector<Double_t> fPx, fPy, fPz; // Momentum components [MeV] per nucleon
58  std::vector<Double_t> Masses; // Masses of the N products
59  std::vector<Double_t> fExEnergy; // Excitation energies of the products
60  std::vector<Double_t> fWm; // Total mass
61  Int_t fN{};
62  Double_t fCStot{};
63 
64  Double_t K1{};
65  Double_t m1{}, m2{}, m3{}, m4{}, m7{}, m8{};
66  Double_t Ex_ejectile{}, Ex_2he{};
67  Double_t test_var{};
68 
69  Double_t beta_cm{};
70  Double_t gamma_cm{};
71  Double_t beta4{}, gamma4{};
72  Double_t S{}, S_78{};
73  Double_t Pcm{}, Pc78{};
74  Double_t normP4L{};
75  Double_t E1L{};
76  Double_t E3C{}, E4C{}, E3L{}, E4L{};
77  Double_t E7rest{}, E8rest{};
78  Double_t E7L{}, E8L{};
79  Double_t p1L[3]{}, p3L[3]{}, p4L[3]{};
80  Double_t p3C[3]{}, p4C[3]{};
81  Double_t p7rest[3]{}, p8rest[3]{};
82  Double_t p7L[3]{}, p8L[3]{};
83  // Double_t theta78, phi78;
84  Double_t ran1{}, ran2{}, ranX{};
85  Int_t ran_theta{};
86  std::vector<Double_t> fvfrom, fvto, fvin, fvout;
87  std::vector<Double_t> inp1, inp2, inp3;
88  Double_t theta_cm{}, phi_cm{}, epsilon{};
89  Double_t theta78{}, phi78{};
90 
91  std::vector<Int_t> fQ; // Electric charge [e]
92 
93  Double_t fBeamEnergy{}; // Residual beam energy for phase calculation
94  // Int_t fZBeam;
95  // Int_t fABeam;
96  Double_t fPxBeam{};
97  Double_t fPyBeam{};
98  Double_t fPzBeam{};
99 
100  Double_t random_z{};
101  Double_t random_r{};
102  Double_t random_phi{};
103 
104  // Double_t fBeamMass;
105  // Double_t fTargetMass;
106 
107  ClassDef(AtTPC_d2He, 2)
108 };
109 
110 #endif
AtTPC_d2He
Definition: AtTPC_d2He.h:24
AtTPC_d2He::goodEvts
Int_t goodEvts
Definition: AtTPC_d2He.h:43
AtTPC_d2He::TRANSF
virtual std::vector< Double_t > TRANSF(std::vector< Double_t > *from, std::vector< Double_t > *to, std::vector< Double_t > *vin)
Definition: AtTPC_d2He.cxx:153
AtTPC_d2He::AtTPC_d2He
AtTPC_d2He(const AtTPC_d2He &)
AtTPC_d2He::omega
virtual Double_t omega(Double_t x, Double_t y, Double_t z)
Definition: AtTPC_d2He.cxx:199
AtTPC_d2He::ReadEvent
virtual Bool_t ReadEvent(FairPrimaryGenerator *primGen)
Definition: AtTPC_d2He.cxx:205
y
const double * y
Definition: lmcurve.cxx:20
AtTPC_d2He::~AtTPC_d2He
virtual ~AtTPC_d2He()=default
AtTPC_d2He::AtTPC_d2He
AtTPC_d2He()
Definition: AtTPC_d2He.cxx:33
AtTPC_d2He::operator=
AtTPC_d2He & operator=(const AtTPC_d2He &)
Definition: AtTPC_d2He.h:37
AtTPC_d2He::badEvts
Int_t badEvts
Definition: AtTPC_d2He.h:44