/[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.4 - (hide annotations) (download)
Thu Jul 6 09:03:26 2006 UTC (18 years, 5 months ago) by mocchiut
Branch: MAIN
Changes since 1.3: +50 -16 lines
File MIME type: text/plain
Upgraded ToF routines and output

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

  ViewVC Help
Powered by ViewVC 1.1.23