ERDecayEXP1803.h

Ivan Muzalevsky, 03/20/2018 06:09 PM

Download (2.47 KB)

 
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 "TGenPhaseSpace.h"
16

    
17
#include "FairIon.h"
18

    
19
#include "ERDecay.h" // mother class
20

    
21
class ERDecayEXP1803 : public ERDecay {
22

    
23
public:
24
  ERDecayEXP1803();
25
  ~ERDecayEXP1803();
26

    
27
  /*Modifiers*/
28
  void SetMinStep(Double_t minStep) {fMinStep = minStep;}
29
  void SetTargetVolumeName(TString volumeName) {fVolumeName = volumeName;}
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

    
34
  void phasegen2(Double_t Ecm, Double_t h5Mass);
35
  void ReadADInput(TString ADfile);
36

    
37
public:
38
  Bool_t Init();
39
  Bool_t Stepping();
40

    
41
  void BeginEvent();
42
  void FinishEvent();
43

    
44
private:
45
  TRandom3       *fRnd;
46
  
47
  TParticlePDG   *f6He;
48
  TParticlePDG   *f2H;
49
  TParticlePDG   *f3He;
50
  TParticlePDG   *f5H;
51
  TParticlePDG   *f3H;
52
  TParticlePDG   *fn;
53

    
54
  TLorentzVector *flv3He; //!
55
  TLorentzVector *flv5H; //!
56

    
57
  FairIon        *fIon3He;
58
  FairIon        *fUnstableIon5H;
59

    
60
  TGenPhaseSpace  *fReactionPhaseSpace;
61
  TGenPhaseSpace  *fDecayPhaseSpace;
62
  TString          fVolumeName;
63
  Double_t         fTargetReactZ;
64
  Double_t         fMinStep;
65
  Double_t         fTargetThickness;
66
  Bool_t           fDecayFinish;
67
  std::vector<Double_t> f5HExcitationMean;
68
  std::vector<Double_t> f5HExcitationSigma; 
69
  std::vector<Double_t> f5HExcitationWeight;
70

    
71
  Double_t        f5HMass;
72
  Bool_t          fIs5HUserMassSet;
73
  Bool_t          fIs5HExcitationSet;
74

    
75
  TString fADFile;     //!   distribution is taken from file containing angular
76
  TGraph *fADInput;    //!   distribution (AD) graph containing AD input
77
  TF1    *fADFunction; //!   function describing AD of binary reaction
78

    
79
  Double_t ADEvaluate(Double_t *x, Double_t *p);
80

    
81
  ClassDef(ERDecayEXP1803,1)
82
};
83

    
84
#endif