re-activate contrib code
[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 iLayer,Int_t iStack, Int_t iSector, Int_t i);
31   void     ModePadCalibration(Int_t iStack, 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           void     SetPerSuperModule(Int_t i);
52           void     SetAllTogether(Int_t i);
53
54
55   //Get
56           Short_t  GetNz(Int_t i) const                                      { return fNz[i];                  }
57           Short_t  GetNrphi(Int_t i) const                                   { return fNrphi[i];               }
58           Short_t  GetNnZ(Int_t i) const                                     { return fNnZ[i];                 }
59           Short_t  GetNnRphi(Int_t i) const                                  { return fNnRphi[i];              }
60           Short_t  GetNfragZ(Int_t i) const                                  { return fNfragZ[i];              }
61           Short_t  GetNfragRphi(Int_t i) const                               { return fNfragRphi[i];           }
62           Short_t  GetRowMin(Int_t i) const                                  { return fRowMin[i];              }
63           Short_t  GetRowMax(Int_t i) const                                  { return fRowMax[i];              }
64           Short_t  GetColMin(Int_t i) const                                  { return fColMin[i];              }
65           Short_t  GetColMax(Int_t i) const                                  { return fColMax[i];              }
66           Int_t    GetXbins(Int_t i) const                                   { return fXbins[i];               }
67           Short_t  GetDetChamb0(Int_t i) const                               { return fDetChamb0[i];           }
68           Short_t  GetDetChamb2(Int_t i) const                               { return fDetChamb2[i];           }
69     
70      
71  protected:
72
73   // Geometry
74   AliTRDgeometry  *fGeo;                    //! The TRD geometry
75
76           Short_t  fNz[3];                  // Mode of calibration 
77           Short_t  fNrphi[3];               // Mode of calibration 
78           Short_t  fNnZ[3];                 // Number of pad rows in a group
79           Short_t  fNnRphi[3];              // Number of pad cols in a group
80           Short_t  fNfragZ[3];              // Number of  pad row group
81           Short_t  fNfragRphi[3];           // Number of pad col group
82           Short_t  fRowMin[3];              // Limits of the group in pad row
83           Short_t  fRowMax[3];              // Limits of the group in pad row
84           Short_t  fColMin[3];              // Limits of the group in pad col
85           Short_t  fColMax[3];              // Limits of the group in pad col
86           Int_t    fXbins[3];               // First Xbins of the detector
87           Short_t  fDetChamb0[3];           // Number of XBins for chamber != 2
88           Short_t  fDetChamb2[3];           // Number of Xbins for chamber 2
89
90   // Some basic geometry function
91   virtual Int_t    GetLayer(Int_t d) const;
92   virtual Int_t    GetStack(Int_t d) const;
93   virtual Int_t    GetSector(Int_t d) const;
94  
95   ClassDef(AliTRDCalibraMode,2)             // TRD Calibration class
96
97 };
98 #endif
99
100