er  dev
ERHe8EventHeader.h
1 // -------------------------------------------------------------------------
2 // ----- ERHe8EventHeader header file -----
3 // ----- Created 04/17 by V.Schetinin -----
4 // -------------------------------------------------------------------------
5 
6 #ifndef ERHe8EventHeader_H
7 #define ERHe8EventHeader_H
8 
9 #include "TTree.h"
10 #include "TSystem.h"
11 #include "TString.h"
12 
13 #include "FairEventHeader.h"
14 
15 #define rad 0.01745329252 /* pi/180 */
16 
17 
19 {
20 public:
23  char ReactionName[32];
24  char Mechanism[32];
25  char AboutBeam[32];
26  char AboutSlit[32];
27  char EnergyUn[32];
28  char SlitUn[32];
29  char Fname[32];
30  bool Simulation;
31  bool Vertex;
32  bool DetectorTune;
33  bool ToFis;
34  bool TRACKINGis;
35  bool TrackCheck;
36  bool WriteRawData;
37  bool WriteCalData;
38  bool WriteToFData;
39  bool WriteTrackData;
40  bool WriteTelData;
41  bool WritePhysData;
42  bool WritePlayData;
43  bool WriteRawTrack;
44  int ifill[8];
45 };
46 
48 {
49 public:
50  UpstreamMatter(){};
51  ~UpstreamMatter(){}
52  char PlasticMatter1[16];
53  char PlasticMatter2[16];
54  char MWwinMatter[16];
55  char MWcathMatter[16];
56  char MWgasMatter[16];
57  char HeatScreenAns[16];
58  char HeatScreenMatter[16];
59  char TarShape[16];
60  char TarFoilMatter[16];
61  int MWclosXNum;
62  int MWclosYNum;
63  double MWXYdist;
64  double MWstep;
65  int MWNcathodes;
66  int MWNwires;
67  double MWfarDist;
68  double MWfarXshift;
69  double MWfarYshift;
70  int MWfarXNum;
71  int MWfarYNum;
72  double MWclosDist;
73  double MWclosXshift;
74  double MWclosYshift;
75  double PlasticThick1;
76  double PlasticThick2;
77  double MWwinThick;
78  double MWcathThick;
79  double MWgasThick;
80  double PlasticAngle1;
81  double PlasticAngle2;
82  double PlasticDist;
83  double ToFRes;
84  double tF3l_rng;
85  double tF3r_rng;
86  double tF4l_rng;
87  double tF4r_rng;
88  double tF3_dlt;
89  double tF4_dlt;
90  double beam_ToF[10][105];
91  double beam_MWwin[10][105];
92  double beam_MWgas[10][105];
93  double beam_MWcathod[10][105];
94  double beam_TARwin[10][105];
95  double beam_target[10][105];
96  double beam_heatscreen[10][105];
97  double TarRadius;
98  double TarXshift;
99  double TarYshift;
100  double TarZshift;
101  double TarFoilThick;
102  double TarThick;
103  double TarHeight;
104  double TarWallThick;
105  double TarEntrHoleThick;
106  double TarTemp;
107  double TarPress;
108  double TarAngle;
109  double FoilThick;
110  double TarEntrHoleRad;
111  double MeniskSize;
112  double HeatScreenThick;
113  double InHscrRad;
114  double HscrWallWidth;
115  double HscrHeight;
116  double EntrHRad;
117  double ExHX;
118  double ExHY;
119 };
120 
121 
122 class ERHe8EventHeader : public FairEventHeader {
123 public:
124  Int_t HE8Event_nevent;
125  Int_t HE8Event_trigger;
126  Int_t HE8Event_subevents;
127  Int_t HE8Event_evsize;
128  UInt_t HE8Event_time;
129  int mbeam;
130  int mtrack;
131  int mp1,mp2;
132  void SetReactionInputFile(TString file){fReactionInputFile = file;}
133 public:
135  Bool_t Register(TTree* tree, TString branchName);
136 public:
137  ReactionDataInput ReIN;
138  UpstreamMatter UpMat;
139  int NofUnObsPart;
140  char projname[5];
141  char tarname[5];
142  char DetectedPart[32];
143  char UnObservedPart[32];
144  int NofDetPart;
145  int NofInPart;
146 protected:
147  void ReadInputFile();
148  void ReactionPreparation();
149  int HowMuchParticles(char* str);
150  TString fReactionInputFile;
151  ClassDef(ERHe8EventHeader, 1)
152 
153 };
154 
155 #endif