Classes for CTP time parameters added (Plamen)
[u/mrichter/AliRoot.git] / STEER / AliCTPTimeParams.h
1 #ifndef ALICTPTIMEPARAMS_H
2 #define ALICTPTIMEPARAMS_H
3
4
5 #include<TNamed.h>
6 #include<TObjArray.h>
7
8 class TNamed;
9
10 class AliCTPTimeParams : public TNamed {
11
12 public:
13                         AliCTPTimeParams();
14               virtual   ~AliCTPTimeParams();
15         
16                         AliCTPTimeParams(const AliCTPTimeParams &timeparams);
17       AliCTPTimeParams& operator=(const AliCTPTimeParams& timeparams);          
18
19              
20         static AliCTPTimeParams* LoadCTPTimeParams(TString filename);   
21         static AliCTPTimeParams* LoadCTPTimeParamsFromString(const char* timeparams);
22                 Bool_t ProcessCTPTimeParamsLine(const char* line);
23                 Bool_t WriteCTPTimeParamsOCDB();
24                 Bool_t GetCTPTimeParamsDAQLog();
25                   void AddInput( TString& inputName, UInt_t& inputLevel, UInt_t inputDelay, TString inputEdge );
26                   void AddDelayL0L1L2(UInt_t delayL1L0, UInt_t delayL2L0);
27           virtual void Print(const Option_t* opt="") const;
28                 //Setters
29
30                 //Getters
31                 UInt_t GetDelayL1L0()   const { return fDelayL1L0; }
32                 UInt_t GetDelayL2L0()   const { return fDelayL2L0; }
33 /*              UInt_t* GetDelayInputs() { return fDelayInputs; }
34                 Bool_t* GetInputIndex()  { return fInputIndex; }                
35                 UInt_t* GetInputLevel()  { return fInputLevel; }*/
36
37                 enum {kNMaxInputs = 60}; //CTP can manage up to 60 trigger detector inputs
38 private:
39                         UInt_t fDelayL1L0;
40                         UInt_t fDelayL2L0;
41                         TObjArray fCTPInputTimeParams;
42 /*
43                         UInt_t fInputDelay[kNMaxInputs];
44                         Bool_t fInputFlag[kNMaxInputs];
45                         UInt_t fInputLevel[kNMaxInputs];
46                        TString fInputName[kNMaxInputs];
47                         Char_t fInputEdge[kNMaxInputs];
48 */
49           static const TString fgkCTPTimeParamsFileName;   //Name of file containing the CTPTimeParams
50
51   ClassDef( AliCTPTimeParams, 1 ) 
52 };
53
54 #endif