cf882899d0c622a4b851ec71fea4366c02fa51f3
[u/mrichter/AliRoot.git] / ZDC / AliZDCChMap.h
1 #ifndef ALIZDCCHMAP_H
2 #define ALIZDCCHMAP_H
3
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               */
6
7 ////////////////////////////////////////////////
8 //  Class for ZDC calibration containing      //
9 //    the map ADC ch. <-> physics signal      //
10 //    the scaler map <-> counted signal       //
11 //       needed for reconstruction            //
12 ////////////////////////////////////////////////
13
14 #include "TNamed.h"
15 #include "AliCDBEntry.h"
16
17 class AliZDC;
18
19 class AliZDCChMap: public TNamed {
20
21  public:
22   AliZDCChMap();
23   AliZDCChMap(const char* name);
24   AliZDCChMap(const AliZDCChMap &calibda);
25   AliZDCChMap& operator= (const AliZDCChMap &calibda);
26   virtual ~AliZDCChMap();
27   void Reset();
28   virtual void  Print(Option_t *) const; 
29   //
30   Int_t* GetModuleMap() const {return (int*)fModuleMap;}
31   Int_t GetModuleMap(Int_t iModType, Int_t iMapEntry) const {return fModuleMap[iModType][iMapEntry];}
32   //
33   Int_t GetADCModule(Int_t i)  const {return fADCModule[i];}
34   Int_t GetADCChannel(Int_t i) const {return fADCChannel[i];}
35   Int_t GetDetector(Int_t i)   const {return fDetector[i];}
36   Int_t GetSector(Int_t i)     const {return fSector[i];}
37   //
38   Int_t GetScChannel(Int_t i)  const {return fScalerChannel[i];}
39   Int_t GetScDetector(Int_t i) const {return fScDetector[i];}
40   Int_t GetScSector(Int_t i)   const {return fScSector[i];}
41   
42   void  SetModuleMap(Int_t iEntry, Int_t iGeoAdd, Int_t iModType, Int_t iNCh)
43         {fModuleMap[iEntry][0] = iGeoAdd;
44          fModuleMap[iEntry][1] = iModType;
45          fModuleMap[iEntry][2] = iNCh;}
46   
47   void  SetADCModule(Int_t i, Int_t mod)  {fADCModule[i] = mod;}
48   void  SetADCChannel(Int_t i, Int_t ich) {fADCChannel[i] = ich;}
49   void  SetDetector(Int_t i, Int_t ival)  {fDetector[i] = ival;}
50   void  SetSector(Int_t i, Int_t ival)    {fSector[i] = ival;}
51   //
52   void  SetScChannel(Int_t i, Int_t ich)   {fScalerChannel[i] = ich;}
53   void  SetScDetector(Int_t i, Int_t ival) {fScDetector[i] = ival;}
54   void  SetScSector(Int_t i, Int_t ival)   {fScSector[i] = ival;}
55   
56  protected:
57   Int_t  fModuleMap[10][3]; // 10 module maps: GEO, mod. type, no. ch.
58   // ************ ADC ************
59   // 22 signal ch. + 2 reference ch.
60   // in-time + out-of-time signals
61   // -> 48 channels to be mapped
62   Int_t  fADCModule[48];     // ADC module
63   Int_t  fADCChannel[48];    // ADC channel
64   Int_t  fDetector[48];      // detector
65   Int_t  fSector[48];        // sector
66   //
67   // ************ VME scaler ************
68   Int_t  fScalerChannel[32]; // Scaler channel
69   Int_t  fScDetector[32];    // detector
70   Int_t  fScSector[32];      // sector
71   
72   ClassDef(AliZDCChMap,3)    // ZDC pedestal calibration data
73 };
74
75 #endif