Implementation of TOFFEE-DCS FXS file in TOF pp + small bug fixes... (R. Preghenella)
[u/mrichter/AliRoot.git] / TOF / AliTOFFEEReader.h
1 #ifndef ALITOFFEEREADER_H
2 #define ALITOFFEEREADER_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 //                                                           //
9 //   This class provides the TOF FEE reader.                 //
10 //                                                           //
11 ///////////////////////////////////////////////////////////////
12
13 /* 
14  * author: Roberto Preghenella (R+), Roberto.Preghenella@bo.infn.it
15  */
16
17 #include "TObject.h"
18 #include "AliTOFGeometry.h"
19
20 class AliTOFFEEConfig;
21
22 class AliTOFFEEReader :
23 public TObject 
24 {
25
26  private:
27
28   static const Int_t fgkNumberOfDDLs = 72; // number of DDLs
29   static const Int_t fgkNumberOfTRMs = 10; // number of TRMs
30   static const Int_t fgkNumberOfChains = 2; // number of chains
31   static const Int_t fgkNumberOfTDCs = 15; // number of TDCs
32   static const Int_t fgkNumberOfChannels = 8; // number of channels
33   static const Int_t fgkNumberOfIndexes = 157248; // number of indexes
34
35   AliTOFFEEConfig *fFEEConfig; // FEE config
36   Bool_t fChannelEnabled[fgkNumberOfIndexes]; // channel enabled
37
38  public:
39
40   AliTOFFEEReader(); // default constructor
41   AliTOFFEEReader(const AliTOFFEEReader &source); // copy constructor
42   AliTOFFEEReader &operator=(const AliTOFFEEReader &source); // operator =
43   virtual ~AliTOFFEEReader(); // default destructor
44
45   /* getters */
46   static Int_t GetNumberOfDDLs() {return fgkNumberOfDDLs;}; // get number of DDLs
47   static Int_t GetNumberOfTRMs() {return fgkNumberOfTRMs;}; // get number of TRMs
48   static Int_t GetNumberOfChains() {return fgkNumberOfChains;}; // get number of chains
49   static Int_t GetNumberOfTDCs() {return fgkNumberOfTDCs;}; // get number of TDCs
50   static Int_t GetNumberOfChannels() {return fgkNumberOfChannels;}; // get number of channels
51   static Int_t GetNumberOfIndexes() {return fgkNumberOfIndexes;}; // get number of indexes
52   AliTOFFEEConfig *GetFEEConfig() const {return fFEEConfig;}; // get FEE config
53   Bool_t GetChannelEnabled(Int_t iIndex) const {return iIndex < GetNumberOfIndexes() ? fChannelEnabled[iIndex] : kFALSE;}; // get channel enabled
54   
55   /* setters */
56   
57   /* methods */
58   void LoadFEEConfig(const Char_t *FileName); // load FEE config
59   void DumpFEEConfig(); // dump FEE config
60   Int_t ParseFEEConfig(); // parse FEE config
61   void ResetChannelEnabledArray(); // reset channel enabled array
62   Bool_t IsChannelEnabled(Int_t iDDL, Int_t iTRM, Int_t iChain, Int_t iTDC, Int_t iChannel); // is channel enabled
63   Bool_t IsChannelEnabled(Int_t iIndex) {return GetChannelEnabled(iIndex);}; // is channel enabled
64   
65   ClassDef(AliTOFFEEReader, 1);
66
67 };
68
69 #endif /* ALITOFFEEREADER_H */