/[PAMELA software]/ParDirCalc/option.h
ViewVC logotype

Contents of /ParDirCalc/option.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (show annotations) (download)
Tue Sep 16 09:51:08 2008 UTC (16 years, 2 months ago) by pam-mep
Branch: MAIN
CVS Tags: HEAD
File MIME type: text/plain
new

1 #ifndef option_H
2 #define option_H
3
4 #include <TObject.h>
5 #include "TString.h"
6 #include <TH1F.h>
7 #include <TH2F.h>
8 #include <TH3F.h>
9 //#include <PamLevel2.h>
10
11 using namespace std;
12
13 class OptionParam : public TObject {
14
15 public:
16
17 OptionParam();
18 ~OptionParam();
19
20 /*struct ArraysParam{
21 Float_t B;
22 Float_t L;
23 Float_t Alt;
24 Float_t Lon;
25 Float_t Lat;
26 Float_t LiveTime;
27 Float_t DeathTime;
28 };
29 */
30 struct USparam{
31 Double_t altmore;
32 Double_t altless;
33 Double_t Bmore;
34 Double_t Bless;
35 Double_t Lmore;
36 Double_t Lless;
37 Double_t Rmore;
38 Double_t Rless;
39 // Double_t Pmore;
40 // Double_t Pless;
41 };
42
43 struct UserSelect{
44 vector<USparam> USP;
45 vector<Int_t> NAH1D;
46 vector<Int_t> NAH2D;
47 vector<Int_t> NAH3D;
48 //vector<ArraysParam> AP;
49 };
50
51 struct PitchSelect{
52 Float_t PitchMax;
53 Float_t PitchMin;
54 vector<Int_t> NAH1D;
55 vector<Int_t> NAH2D;
56 vector<Int_t> NAH3D;
57 //vector<Int_t> NAH1D;
58 //vector<Int_t> NAH2D;
59 };
60 /*
61 struct Angles{
62 vector<Int_t> NUS;
63 Int_t NAH;
64 Bool_t Mode[10];
65 };
66 */
67 struct SelectParam{
68 Double_t Rmin;
69 Double_t Rmax;
70 Int_t detrminf;
71 Int_t detrmaxf;
72 Double_t detrmore;
73 Double_t detrless;
74 Float_t betamin;
75 Float_t betamax;
76 Bool_t AC;
77 Bool_t Calo;
78 };
79
80 struct SelectionScheme{
81 vector<SelectParam> SP;
82 Int_t PartType;
83 vector<Int_t> NAH1D;
84 vector<Int_t> NAH2D;
85 vector<Int_t> NAH3D;
86 };
87
88 /*
89 struct GeoDep{
90 vector<Int_t> NUS;
91 Int_t NAH;
92 Int_t Type;
93 };
94 */
95 struct EnergyDiapason{
96 Double_t Emin;
97 Double_t Emax;
98 Double_t detrmin;
99 Double_t detrmax;
100 //Int_t NAH; //Number of Accoding Hystogramm
101 //vector<Int_t> NUS;
102 //vector<GeoDep> GeDe;
103 };
104
105 struct FullInf{
106 ULong_t NEvent;
107 ULong_t AbsTime;
108 string UTS;
109 Bool_t WT; // With Track;
110 };
111
112 struct show{
113 Bool_t Existed;
114 Bool_t Nev; //Show Number of Events;
115 Bool_t ST; //Show start time;
116 Bool_t ET; //Show end time;
117 FullInf FI; //Show fuul information;
118 ULong_t AbsTime; //Show numbers of events according this time;
119 string UTS; //Show numbers of events according this UTS;
120 };
121
122 struct option{
123 //AnglHyst AH;
124 //DiffHyst DH;
125 //PamEff PE;
126 //PamExp PX;
127 Bool_t DoTr;
128 Int_t verbose;
129 //Bool_t ext[5]; //available extensions
130 show SP;
131 ULong_t Neve;
132 Long_t Nverb;
133 ULong_t Nstart;
134 };
135
136 Bool_t debug;
137 option opt;
138 string outdir;
139 string workdir;
140
141 //struct HystInfo{
142 // Bool_t root;
143 // Bool_t png;
144 // Int_t ExpType; // 0 - without exposition, 1 LiveTimeOneTrack, 2 DeathTimeOneTrack, 3 LiveTime+DeathTimeOneTrack, 4 liveTimeBetweenLastTrackAndOne, 5 DeathTimeBitweenLastTrackAndOne, 6 LiveTime+DeathTimeBetweenLastTrackAndOne
145 //};
146
147 struct SelectionPointers{
148 Int_t NUS;
149 Int_t NED;
150 Int_t NSS;
151 Int_t NPT;
152 Int_t TypeExt; //0 - root only; 1 - png only; 2 - Both root and png;
153 Int_t ExpType; // 0 - without exposition, 1 LiveTimeOneTrack, 2 DeathTimeOneTrack, 3 LiveTime+DeathTimeOneTrack, 4 liveTimeBetweenLastTrackAndOne, 5 DeathTimeBitweenLastTrackAndOne, 6 LiveTime+DeathTimeBetweenLastTrackAndOne
154 Float_t LieveTime;
155 Float_t DeathTime;
156 TString filename;
157 };
158
159 struct FileParam1{
160 TH1F Hyst1DF;
161 TH1F Hyst1DFExp;
162 Int_t XType;
163 SelectionPointers HI;
164 };
165
166 struct FileParam2{
167 TH2F Hyst2DF;
168 TH2F Hyst2DFExp;
169 Int_t XType;
170 Int_t YType;
171 SelectionPointers HI;
172 };
173
174 struct FileParam3{
175 TH3F Hyst3DF;
176 TH1F Hyst3DFExp;
177 Int_t XType;
178 Int_t YType;
179 Int_t ZType;
180 Int_t NEI;
181 SelectionPointers HI;
182 };
183
184 struct ExpInput{
185 char* inputfile;
186 char* inputhyst;
187 };
188
189 vector<ExpInput> EffHyst;
190 vector<FileParam1> Hyst1D;
191 vector<FileParam2> Hyst2D;
192 vector<FileParam3> Hyst3D;
193 vector<UserSelect> US;
194 vector<PitchSelect> PS;
195 vector<SelectionScheme> SS;
196 vector<EnergyDiapason> ED;
197
198 Int_t tmpNUS;
199 Int_t tmpSS;
200 //vector<Int_t> tmp2;
201
202 Double_t CheckDouble(char*, char*);
203 Int_t CheckInt(char*, char*);
204 Int_t FindUS(Double_t,Double_t,Double_t,Double_t,Double_t,Double_t,Double_t,Double_t);
205 Int_t CheckSS(Double_t,Double_t,Int_t,Int_t,Double_t,Double_t,Float_t,Float_t,Bool_t,Bool_t,Int_t);
206 void SimpleCheck(char*, char*, char*, char*, char*, char*, char*, char*, char*, char*, char*, char*, char*, Int_t);
207 void CheckBrackets(int Argc, char* Argv[], Int_t&);
208 //void AnglHystOption(HystInfo&, char*, Int_t, Double_t, Double_t, Int_t, Double_t, Double_t, Bool_t, Bool_t, string, Int_t);
209 void SetupGeo(Double_t, Double_t, Double_t, Double_t, Double_t, Double_t, Double_t, Double_t, Int_t, Int_t);
210 void Run(int Argc, char* Argv[],Int_t&);
211 //void Run(int Argc, char* Argv[],Int_t, Particles&);
212 //void AnglHystFunc(int Argc, char* Argv[]);
213 //void FillGeoDep(int Argc, char* Argv[], Int_t&, vector<GeoDep>&);
214 void CheckAD(int Argc, char* Argv[], Int_t&);
215 void CheckPitch(int Argc, char* Argv[], Int_t&);
216 void SetExpOption(int Argc, char* Argv[], Int_t&);
217 //void ShowSSInfo(vector<SelectScheme>);
218 void FillSS(SelectParam&, Double_t, Double_t, Int_t, Int_t, Double_t, Double_t, Float_t, Float_t, Bool_t, Bool_t);
219 void DefaultSelect(Int_t);
220 void MakeSelectScheme(int Argc, char* Argv[], Int_t&, Int_t);
221 //void SelectParticleOpt(int Argc, char* Argv[], Int_t&, Int_t, vector<Particles>&);
222 void MakeHystAxis(int Argc, char* Argv[], Int_t&);
223 void PamEffFunc(int Argc, char* Argv[]);
224 //void SelectParam(int Argc, char* Argv[], Int_t&, DHBuild&);
225 //void DiffHystFunc(int Argc, char* Argv[]);
226 //void PamExpFunc(int Argc, char* Argv[]);
227
228 void helprint();
229
230 };
231
232 #endif

  ViewVC Help
Powered by ViewVC 1.1.23