First V0 MC Analysis from H.Ricaud
[u/mrichter/AliRoot.git] / TRD / AliTRDCalibraMode.h
1 #ifndef ALITRDCALIBRAMODE_H
2 #define ALITRDCALIBRAMODE_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 /* $Id$ */
7
8 ///////////////////////////////////////////////////////////////////////////////
9 //                                                                           //
10 //  TRD calibration class                                                    //
11 //                                                                           //
12 ///////////////////////////////////////////////////////////////////////////////
13
14 #ifndef ROOT_TObject
15 #  include <TObject.h>
16 #endif
17
18 class AliTRDgeometry;
19
20 class AliTRDCalibraMode : public TObject {
21
22  public: 
23
24   AliTRDCalibraMode();
25   AliTRDCalibraMode(const AliTRDCalibraMode &c);
26   virtual ~AliTRDCalibraMode();
27   AliTRDCalibraMode &operator=(const AliTRDCalibraMode &) { return *this; }
28
29    
30   Bool_t   ModePadFragmentation(Int_t iPlane,Int_t iChamb, Int_t iSect, Int_t i);
31   void     ModePadCalibration(Int_t iChamb, Int_t i);
32   void     ReconstructionRowPadGroup(Int_t idect, Int_t i);
33   void     CalculXBins(Int_t idect, Int_t i);
34   void     ResetMinMax(Int_t i);
35   
36           
37   //
38   // Set and Get methods
39   //
40   
41   //Set
42           void     SetNz(Int_t i, Short_t nz);
43           void     SetNrphi(Int_t i, Short_t nrphi);
44           void     SetRowMin(Int_t i, Short_t rowmin)                        { fRowMin[i] = rowmin;            }
45           void     SetRowMax(Int_t i, Short_t rowmax)                        { fRowMax[i] = rowmax;            }
46           void     SetColMin(Int_t i, Short_t colmin)                        { fColMin[i] = colmin;            }
47           void     SetColMax(Int_t i, Short_t colmax)                        { fColMax[i] = colmax;            } 
48           void     SetDetChamb0(Int_t i);
49           void     SetDetChamb2(Int_t i);
50
51   //Get
52           Short_t  GetNz(Int_t i) const                                      { return fNz[i];                  }
53           Short_t  GetNrphi(Int_t i) const                                   { return fNrphi[i];               }
54           Short_t  GetNnZ(Int_t i) const                                     { return fNnZ[i];                 }
55           Short_t  GetNnRphi(Int_t i) const                                  { return fNnRphi[i];              }
56           Short_t  GetNfragZ(Int_t i) const                                  { return fNfragZ[i];              }
57           Short_t  GetNfragRphi(Int_t i) const                               { return fNfragRphi[i];           }
58           Short_t  GetRowMin(Int_t i) const                                  { return fRowMin[i];              }
59           Short_t  GetRowMax(Int_t i) const                                  { return fRowMax[i];              }
60           Short_t  GetColMin(Int_t i) const                                  { return fColMin[i];              }
61           Short_t  GetColMax(Int_t i) const                                  { return fColMax[i];              }
62           Short_t  GetXbins(Int_t i) const                                   { return fXbins[i];               }
63           Short_t  GetDetChamb0(Int_t i) const                               { return fDetChamb0[i];           }
64           Short_t  GetDetChamb2(Int_t i) const                               { return fDetChamb2[i];           }
65     
66      
67  protected:
68
69   // Geometry
70   AliTRDgeometry  *fGeo;                    //! The TRD geometry
71
72           Short_t  fNz[3];                  // Mode of calibration 
73           Short_t  fNrphi[3];               // Mode of calibration 
74           Short_t  fNnZ[3];                 // Number of pad rows in a group
75           Short_t  fNnRphi[3];              // Number of pad cols in a group
76           Short_t  fNfragZ[3];              // Number of  pad row group
77           Short_t  fNfragRphi[3];           // Number of pad col group
78           Short_t  fRowMin[3];              // Limits of the group in pad row
79           Short_t  fRowMax[3];              // Limits of the group in pad row
80           Short_t  fColMin[3];              // Limits of the group in pad col
81           Short_t  fColMax[3];              // Limits of the group in pad col
82           Int_t    fXbins[3];               // First Xbins of the detector
83           Short_t  fDetChamb0[3];           // Number of XBins for chamber != 2
84           Short_t  fDetChamb2[3];           // Number of Xbins for chamber 2
85
86   // Some basic geometry function
87   virtual Int_t    GetPlane(Int_t d) const;
88   virtual Int_t    GetChamber(Int_t d) const;
89   virtual Int_t    GetSector(Int_t d) const;
90  
91   ClassDef(AliTRDCalibraMode,2)             // TRD Calibration class
92
93 };
94 #endif
95
96