increased number of channels used in the TOFFEElight data structure, from 157248...
[u/mrichter/AliRoot.git] / TOF / AliTOFFEElightConfig.h
1 #ifndef ALITOFFEELIGHTCONFIG_H
2 #define ALITOFFEELIGHTCONFIG_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 classes provide the TOFFEE light config objects.   //
10 //                                                           //
11 //   authors: Roberto Preghenella (R+)                       //
12 //   contacts: preghenella@bo.infn.it                        //
13 //                                                           //
14 ///////////////////////////////////////////////////////////////
15
16 #include "TROOT.h"
17
18 class AliTOFFEEchannelConfig
19 {
20
21  public:
22   enum EStatus_t {
23     kStatusEnabled = 0x1
24   };
25   
26  private:
27   UChar_t fStatus; // status
28   Int_t fMatchingWindow; // matching window [ns]
29   Int_t fLatencyWindow; // latency window [ns]
30
31  public:
32   AliTOFFEEchannelConfig() : fStatus(0x0), fMatchingWindow(0), fLatencyWindow(0) {}; // default construct
33   ~AliTOFFEEchannelConfig() {}; // default destructor
34
35   UChar_t GetStatus() const {return fStatus;}; // get status
36   Int_t GetMatchingWindow() const {return fMatchingWindow;}; // get matching window
37   Int_t GetLatencyWindow() const {return fLatencyWindow;}; // get latency window
38
39   void SetStatus(UChar_t value) {fStatus = value;}; // set status
40   void SetMatchingWindow(Int_t value) {fMatchingWindow = value;}; // set matching window
41   void SetLatencyWindow(Int_t value) {fLatencyWindow = value;}; // set latency window
42
43   Bool_t IsEnabled() const {return (GetStatus() & kStatusEnabled);}; // is enabled
44
45 };
46
47 //_____________________________________________________________________________
48
49 class AliTOFFEElightConfig
50 {
51
52  private:
53   static const Int_t fgkNumberOfChannels = 172800; // number of channels
54   Int_t fVersion; // version
55   Int_t fRunNumber; // run number
56   Int_t fRunType; // run type
57   AliTOFFEEchannelConfig fChannelConfig[fgkNumberOfChannels]; // channel config array
58
59  public:
60   AliTOFFEElightConfig() : fVersion(0), fRunNumber(0), fRunType(0), fChannelConfig() {}; // default construct
61   ~AliTOFFEElightConfig() {}; // default destructor
62
63   Int_t GetVersion() const {return fVersion;}; // get version
64   Int_t GetRunNumber() const {return fRunNumber;}; // get run number
65   Int_t GetRunType() const {return fRunType;}; // get run type
66   AliTOFFEEchannelConfig *GetChannelConfig(Int_t i) {return (i < fgkNumberOfChannels ? &fChannelConfig[i] : NULL);}; // get channel config
67
68   void SetVersion(Int_t value) {fVersion = value;}; // get version
69   void SetRunNumber(Int_t value) {fRunNumber = value;}; // get run number
70   void SetRunType(Int_t value) {fRunType = value;}; // get run type
71
72 };
73
74
75
76 #endif /* ALITOFFEELIGHTCONFIG_H */