/[PAMELA software]/DarthVader/ToFLevel2/inc/ToFLevel2.h
ViewVC logotype

Annotation of /DarthVader/ToFLevel2/inc/ToFLevel2.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.13 - (hide annotations) (download)
Mon Jan 22 14:09:30 2007 UTC (17 years, 10 months ago) by mocchiut
Branch: MAIN
CVS Tags: v3r00
Changes since 1.12: +6 -1 lines
File MIME type: text/plain
AGH, re-introduced the memory leak... fixed

1 mocchiut 1.1 #ifndef ToFLevel2_h
2     #define ToFLevel2_h
3     //
4     #include <TObject.h>
5 mocchiut 1.4 #include <TArrayI.h>
6     #include <TArrayF.h>
7 mocchiut 1.1 #include <TClonesArray.h>
8 pam-fi 1.6
9     #include <ToFStruct.h>
10 mocchiut 1.1 //
11     // class which contains track related variables
12     //
13     #define ZTOF11 53.74
14     #define ZTOF12 53.04
15     #define ZTOF21 23.94
16     #define ZTOF22 23.44
17     #define ZTOF31 -23.49
18     #define ZTOF32 -24.34
19    
20 mocchiut 1.4
21     class ToFPMT : public TObject {
22    
23     private:
24    
25     public:
26     Int_t pmt_id;
27     Float_t adc;
28     Float_t tdc_tw;
29     //
30     ToFPMT();
31     ToFPMT(const ToFPMT&);
32     //
33     ToFPMT* GetToFPMT(){return this;};
34     void Clear();
35    
36 mocchiut 1.13
37    
38 mocchiut 1.4 ClassDef(ToFPMT,1);
39     };
40    
41    
42 mocchiut 1.1 class ToFTrkVar : public TObject {
43    
44     private:
45    
46     public:
47 mocchiut 1.13 //
48 mocchiut 1.1 Int_t trkseqno; // tracker entry coming from tracker, 100 if image track is used, -100 if the track is not consistent with MyDetector2 one
49     //
50 mocchiut 1.4 Int_t npmttdc;
51     TArrayI pmttdc;
52 mocchiut 1.8 TArrayI tdcflag; // gf: 30 Nov 2006
53 mocchiut 1.4 Float_t beta[13];
54     //
55     Int_t npmtadc;
56     TArrayI pmtadc;
57 mocchiut 1.8 TArrayI adcflag; // gf: 30 Nov 2006
58 mocchiut 1.4 TArrayF dedx;
59     //
60     Float_t xtofpos[3];
61     Float_t ytofpos[3];
62 mocchiut 1.1 //
63     ToFTrkVar();
64     ToFTrkVar(const ToFTrkVar&);
65    
66     ToFTrkVar* GetToFTrkVar(){return this;};
67 mocchiut 1.4 void Clear();
68    
69 mocchiut 1.1 ClassDef(ToFTrkVar,1);
70     //
71     };
72    
73     class ToFLevel2 : public TObject {
74     private:
75    
76     public:
77 mocchiut 1.4 //
78     TClonesArray *PMT; // class needed to store PMT hit informations
79     TClonesArray *ToFTrk; // track related variable class
80 mocchiut 1.1 Int_t tof_j_flag[6];
81 mocchiut 1.7 Int_t unpackError;
82 mocchiut 1.1 //
83 mocchiut 1.4 Float_t GetdEdx(Int_t notrack, Int_t plane);
84 mocchiut 1.1 //
85     // methods to make life simplier during the analysis, returns a pointer to the ToFTrkVar class containing track related variables
86     //
87     Int_t ntrk(){return ToFTrk->GetEntries();};
88 mocchiut 1.4 Int_t npmt(){return PMT->GetEntries();};
89    
90 mocchiut 1.1 //
91 pam-fi 1.6 void GetLevel2Struct(cToFLevel2 *) const;
92     //
93 mocchiut 1.1 ToFTrkVar *GetToFTrkVar(Int_t notrack);
94 mocchiut 1.4 ToFPMT *GetToFPMT(Int_t nohit);
95     Int_t GetPMTid(Int_t gg, Int_t hh);
96     TString GetPMTName(Int_t ind);
97     Int_t GetPlaneIndex(Int_t pmt_id);
98     void GetMatrix(Int_t notrack, Float_t adc[4][12], Float_t tdc[4][12]);
99 mocchiut 1.5 void GetPMTIndex(Int_t pmt_id, Int_t &gg, Int_t &hh);
100 mocchiut 1.1 //
101     // constructor
102     //
103     ToFLevel2();
104 mocchiut 1.13 ~ToFLevel2(){Delete();}; //ELENA
105     void Delete(); //ELENA
106     void Set();//ELENA
107 mocchiut 1.1 //
108     //
109     ToFLevel2* GetToFLevel2(){return this;};
110 mocchiut 1.4 Float_t GetZTOF(Int_t plane_id){
111 mocchiut 1.1 switch(plane_id){
112     case 11: return ZTOF11;
113     case 12: return ZTOF12;
114     case 21: return ZTOF21;
115     case 22: return ZTOF22;
116     case 31: return ZTOF31;
117     case 32: return ZTOF32;
118     default: return 0.;
119     };
120 mocchiut 1.4 };
121    
122 mocchiut 1.1 //
123     // Paddles position
124     //
125     /*
126     S11 8 paddles 33.0 x 5.1 cm
127     S12 6 paddles 40.8 x 5.5 cm
128     S21 2 paddles 18.0 x 7.5 cm
129     S22 2 paddles 15.0 x 9.0 cm
130     S31 3 paddles 15.0 x 6.0 cm
131     S32 3 paddles 18.0 x 5.0 cm
132     */
133    
134     Int_t GetToFPlaneID(Int_t ip);
135     Int_t GetToFPlaneIndex(Int_t plane_id);
136     Bool_t HitPaddle(Int_t ,Int_t);
137     Int_t GetNHitPaddles(Int_t plane);
138 mocchiut 1.3 void Clear();
139 mocchiut 1.1 //
140 mocchiut 1.7 ClassDef(ToFLevel2,2);
141 mocchiut 1.1 };
142    
143     #endif

  ViewVC Help
Powered by ViewVC 1.1.23