er  dev
ERDecayEXP1803.h
1 /********************************************************************************
2  * Copyright (C) Joint Institute for Nuclear Research *
3  * *
4  * This software is distributed under the terms of the *
5  * GNU Lesser General Public Licence version 3 (LGPL) version 3, *
6  * copied verbatim in the file "LICENSE" *
7  ********************************************************************************/
8 
9 #ifndef ERDecayEXP1803_H
10 #define ERDecayEXP1803_H
11 
12 #include "TGraph.h"
13 #include "TF1.h"
14 #include "TRandom3.h"
15 #include "TRandom2.h"
16 #include "TGenPhaseSpace.h"
17 
18 #include "FairIon.h"
19 
20 #include "ERDecay.h" // mother class
21 
22 class ERDecayEXP1803 : public ERDecay {
23 
24 public:
26  ~ERDecayEXP1803();
27 
28  /*Modifiers*/
29  void SetMinStep(Double_t minStep) {fMinStep = minStep;}
30  void SetTargetThickness(Double_t targetThickness) {fTargetThickness = targetThickness;}
31  void SetH5Mass(Double_t mass) {f5HMass = mass; fIs5HUserMassSet = true;}
32  void SetH5Exitation(Double_t excMean, Double_t fwhm, Double_t distibWeight);
33 
38  void PhaseGenerator(Double_t Ecm, Double_t h5Mass);
39 
40 
44  void SetAngularDistribution(TString ADfile);
45 
46 public:
47  Bool_t Init();
48  Bool_t Stepping();
49 
50  void BeginEvent();
51  void FinishEvent();
52 
53 private:
54  TRandom3 *fRnd;
55  TRandom3 *fRnd2;
56 
57  TParticlePDG *f6He;
58  TParticlePDG *f2H;
59  TParticlePDG *f3He;
60  TParticlePDG *f5H;
61  TParticlePDG *f3H;
62  TParticlePDG *fn;
63 
64  TLorentzVector *fLv3He;
65  TLorentzVector *fLv5H;
66 
67  FairIon *fIon3He;
68  FairIon *fUnstableIon5H;
69 
70  TGenPhaseSpace *fReactionPhaseSpace;
71  TGenPhaseSpace *fDecayPhaseSpace;
72  Double_t fTargetReactZ;
73  Double_t fMinStep;
74  Double_t fTargetThickness;
75  Bool_t fDecayFinish;
76 
77  std::vector<Double_t> f5HExcitationMean;
78  std::vector<Double_t> f5HExcitationSigma;
79  std::vector<Double_t> f5HExcitationWeight;
80 
81  Double_t f5HMass;
82  Bool_t fIs5HUserMassSet;
83  Bool_t fIs5HExcitationSet;
84 
85  TGraph *fADInput;
86  TF1 *fADFunction;
87 
88  //ADEvaluate function is necessary for TF1 constructor
89  Double_t ADEvaluate(Double_t *x, Double_t *p);
90 
91  ClassDef(ERDecayEXP1803,1)
92 };
93 
94 #endif
TF1 * fADFunction
distribution (angular distribution) graph containing AD input
void PhaseGenerator(Double_t Ecm, Double_t h5Mass)
Body decay in phase space approach.
void SetAngularDistribution(TString ADfile)
Sets distribution is contained in file.
Double_t ADEvaluate(Double_t *x, Double_t *p)
function describing AD (angular distribution) of binary reaction