Using detector quality flag (taken from ALICE logbook) to decide whether to rpodcue...
[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   Int_t GetADCSignalCode(Int_t i) const {return fADCSignalCode[i];}
38   //
39   Int_t GetScChannel(Int_t i)    const {return fScalerChannel[i];}
40   Int_t GetScDetector(Int_t i)   const {return fScDetector[i];}
41   Int_t GetScSector(Int_t i)     const {return fScSector[i];}
42   Int_t GetScSignalCode(Int_t i) const {return fScSignalCode[i];}
43   //
44   Int_t GetTDCChannel(Int_t i)    const {return fTDCChannel[i];}
45   Int_t GetTDCSignalCode(Int_t i) const {return fTDCSignalCode[i];}
46   
47   void  SetModuleMap(Int_t iEntry, Int_t iGeoAdd, Int_t iModType, Int_t iNCh)
48         {fModuleMap[iEntry][0] = iGeoAdd;
49          fModuleMap[iEntry][1] = iModType;
50          fModuleMap[iEntry][2] = iNCh;}
51   
52   void  SetADCModule(Int_t i, Int_t mod)  {fADCModule[i] = mod;}
53   void  SetADCChannel(Int_t i, Int_t ich) {fADCChannel[i] = ich;}
54   void  SetDetector(Int_t i, Int_t ival)  {fDetector[i] = ival;}
55   void  SetSector(Int_t i, Int_t ival)    {fSector[i] = ival;}
56   void  SetADCSignalCode(Int_t i, Int_t ival) {fADCSignalCode[i] = ival;}
57   //
58   void  SetScChannel(Int_t i, Int_t ich)     {fScalerChannel[i] = ich;}
59   void  SetScDetector(Int_t i, Int_t ival)   {fScDetector[i] = ival;}
60   void  SetScSector(Int_t i, Int_t ival)     {fScSector[i] = ival;}
61   void  SetScSignalCode(Int_t i, Int_t ival) {fScSignalCode[i] = ival;}
62   //
63   void  SetTDCChannel(Int_t i, Int_t ich)     {fTDCChannel[i] = ich;}
64   void  SetTDCSignalCode(Int_t i, Int_t ival) {fTDCSignalCode[i] = ival;}
65   
66  protected:
67   Int_t  fModuleMap[10][3]; // 10 module maps: GEO, mod. type, no. ch.
68   // ************ ADC ************
69   // 22 signal ch. + 2 reference ch.
70   // in-time + out-of-time signals
71   // -> 48 channels to be mapped
72   Int_t  fADCModule[48];     // ADC module
73   Int_t  fADCChannel[48];    // ADC channel
74   Int_t  fDetector[48];      // detector
75   Int_t  fSector[48];        // sector
76   Int_t  fADCSignalCode[48]; // ADC signal code
77   //
78   // ************ VME scaler ************
79   Int_t  fScalerChannel[32]; // Scaler channel
80   Int_t  fScDetector[32];    // detector
81   Int_t  fScSector[32];      // sector
82   Int_t  fScSignalCode[32];  // scaler signal code
83   //
84   // ************ ZDC TDC ************
85   Int_t  fTDCChannel[32];    // TDC channel
86   Int_t  fTDCSignalCode[32]; // TDC signal code
87   
88   ClassDef(AliZDCChMap,4)    // ZDC pedestal calibration data
89 };
90
91 #endif