Add the number of local boards
[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 AliTRDCalibraMode : public TObject {
19
20  public: 
21
22   AliTRDCalibraMode();
23   AliTRDCalibraMode(const AliTRDCalibraMode &c);
24   virtual ~AliTRDCalibraMode();
25   AliTRDCalibraMode &operator=(const AliTRDCalibraMode &) { return *this; }
26
27    
28   Bool_t   ModePadFragmentation(Int_t iPlane,Int_t iChamb, Int_t iSect, Int_t i);
29   void     ModePadCalibration(Int_t iChamb, Int_t i);
30   void     ReconstructionRowPadGroup(Int_t idect, Int_t i);
31   void     CalculXBins(Int_t idect, Int_t i);
32   void     ResetMinMax(Int_t i);
33   
34           
35   //
36   // Set and Get methods
37   //
38   
39   //Set
40           void     SetNz(Int_t i, Short_t nz);
41           void     SetNrphi(Int_t i, Short_t nrphi);
42           void     SetRowMin(Int_t i, Short_t rowmin)                        { fRowMin[i] = rowmin;            }
43           void     SetRowMax(Int_t i, Short_t rowmax)                        { fRowMax[i] = rowmax;            }
44           void     SetColMin(Int_t i, Short_t colmin)                        { fColMin[i] = colmin;            }
45           void     SetColMax(Int_t i, Short_t colmax)                        { fColMax[i] = colmax;            } 
46           void     SetDetChamb0(Int_t i);
47           void     SetDetChamb2(Int_t i);
48
49   //Get
50           Short_t  GetNz(Int_t i) const                                      { return fNz[i];                  }
51           Short_t  GetNrphi(Int_t i) const                                   { return fNrphi[i];               }
52           Short_t  GetNnZ(Int_t i) const                                     { return fNnZ[i];                 }
53           Short_t  GetNnRphi(Int_t i) const                                  { return fNnRphi[i];              }
54           Short_t  GetNfragZ(Int_t i) const                                  { return fNfragZ[i];              }
55           Short_t  GetNfragRphi(Int_t i) const                               { return fNfragRphi[i];           }
56           Short_t  GetRowMin(Int_t i) const                                  { return fRowMin[i];              }
57           Short_t  GetRowMax(Int_t i) const                                  { return fRowMax[i];              }
58           Short_t  GetColMin(Int_t i) const                                  { return fColMin[i];              }
59           Short_t  GetColMax(Int_t i) const                                  { return fColMax[i];              }
60           Short_t  GetXbins(Int_t i) const                                   { return fXbins[i];               }
61           Short_t  GetDetChamb0(Int_t i) const                               { return fDetChamb0[i];           }
62           Short_t  GetDetChamb2(Int_t i) const                               { return fDetChamb2[i];           }
63     
64      
65  protected:
66
67           Short_t  fNz[3];                  // Mode of calibration 
68           Short_t  fNrphi[3];               // Mode of calibration 
69           Short_t  fNnZ[3];                 // Number of pad rows in a group
70           Short_t  fNnRphi[3];              // Number of pad cols in a group
71           Short_t  fNfragZ[3];              // Number of  pad row group
72           Short_t  fNfragRphi[3];           // Number of pad col group
73           Short_t  fRowMin[3];              // Limits of the group in pad row
74           Short_t  fRowMax[3];              // Limits of the group in pad row
75           Short_t  fColMin[3];              // Limits of the group in pad col
76           Short_t  fColMax[3];              // Limits of the group in pad col
77           Int_t    fXbins[3];               // First Xbins of the detector
78           Short_t  fDetChamb0[3];           // Number of XBins for chamber != 2
79           Short_t  fDetChamb2[3];           // Number of Xbins for chamber 2
80
81   // Some basic geometry function
82   virtual Int_t    GetPlane(Int_t d) const;
83   virtual Int_t    GetChamber(Int_t d) const;
84   virtual Int_t    GetSector(Int_t d) const;
85  
86   ClassDef(AliTRDCalibraMode,1)             // TRD Calibration class
87
88 };
89 #endif
90
91