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

Annotation of /ParDirCalc/CheckGeom/option.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (hide annotations) (download)
Mon Apr 5 08:37:58 2010 UTC (14 years, 8 months ago) by pam-mep
Branch point for: MAIN, yoyo
File MIME type: text/plain
Initial revision

1 pam-mep 1.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