Be sure to load mapping when needed
[u/mrichter/AliRoot.git] / TRD / AliTRDCalibraMode.h
CommitLineData
55a288e5 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
f162af62 18class AliTRDgeometry;
19
55a288e5 20class 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
053767a4 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);
55a288e5 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);
64942b85 50
51 void SetPerSuperModule(Int_t i);
52 void SetAllTogether(Int_t i);
53
55a288e5 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]; }
e526983e 66 Int_t GetXbins(Int_t i) const { return fXbins[i]; }
55a288e5 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
f162af62 73 // Geometry
74 AliTRDgeometry *fGeo; //! The TRD geometry
75
55a288e5 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
053767a4 91 virtual Int_t GetLayer(Int_t d) const;
92 virtual Int_t GetStack(Int_t d) const;
55a288e5 93 virtual Int_t GetSector(Int_t d) const;
94
f162af62 95 ClassDef(AliTRDCalibraMode,2) // TRD Calibration class
55a288e5 96
97};
98#endif
99
100