Line data Source code
1 : #ifndef ALIEMCALTRIGGERSTUDCSCONFIG_H
2 : #define ALIEMCALTRIGGERSTUDCSCONFIG_H
3 : /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 : * See cxx source for full Copyright notice */
5 :
6 : /*
7 :
8 :
9 : EMCAL STU DCS parameters to be stored in OCDB
10 : Author: R. GUERNANE LPSC Grenoble CNRS/IN2P3
11 : */
12 :
13 : #include "TObject.h"
14 :
15 : class TVector2;
16 : class TClonesArray;
17 :
18 : class AliEMCALTriggerSTUDCSConfig : public TObject
19 : {
20 : public:
21 :
22 0 : class AliEMCALTriggerSTUTRUErrorCount : public TObject {
23 : public:
24 0 : AliEMCALTriggerSTUTRUErrorCount(): TObject(), fTime(0), fErrorCount(0) {}
25 0 : AliEMCALTriggerSTUTRUErrorCount(Int_t time, ULong64_t errorCount) : TObject(), fTime(time), fErrorCount(errorCount) {}
26 0 : ~AliEMCALTriggerSTUTRUErrorCount() {}
27 :
28 : virtual Bool_t IsEqual(const TObject *o) const;
29 : virtual Int_t Compare(const TObject *o) const;
30 :
31 0 : void SetValue(Int_t time, ULong64_t errorcount){ fTime = time; fErrorCount = errorcount; }
32 0 : Int_t GetTime() const { return fTime; }
33 0 : ULong64_t GetErrorCount() const { return fErrorCount; }
34 :
35 : private:
36 : Int_t fTime;
37 : ULong_t fErrorCount;
38 :
39 42 : ClassDef(AliEMCALTriggerSTUTRUErrorCount, 1);
40 : };
41 :
42 : AliEMCALTriggerSTUDCSConfig();
43 : virtual ~AliEMCALTriggerSTUDCSConfig();
44 :
45 0 : void SetG(Int_t i, Int_t j, Int_t gv) { fG[i][j] = gv; }
46 0 : void SetJ(Int_t i, Int_t j, Int_t jv) { fJ[i][j] = jv; }
47 0 : void SetRawData(Int_t rd) { fGetRawData = rd; }
48 0 : void SetRegion(Int_t rg) { fRegion = rg; }
49 0 : void SetFw(Int_t fv) { fFw = fv; }
50 0 : void SetPHOSScale(int iscale, int val) { fPHOSScale[iscale] = val; }
51 : void SetTRUErrorCounts(Int_t itru, Int_t itime, ULong64_t errorcounts);
52 :
53 48 : Int_t GetG(int i, int j) const { return fG[i][j]; }
54 48 : Int_t GetJ(int i, int j) const { return fJ[i][j]; }
55 0 : Int_t GetRawData() const { return fGetRawData; }
56 0 : Int_t GetRegion() const { return fRegion; }
57 0 : Int_t GetFw() const { return fFw; }
58 0 : Int_t GetPHOSScale(Int_t iscale) const { return fPHOSScale[iscale]; }
59 :
60 : void GetSegmentation(TVector2& v1, TVector2& v2, TVector2& v3, TVector2& v4) const;
61 : TClonesArray *GetErrorCountsForTRU(Int_t itru) const;
62 :
63 : protected:
64 :
65 : AliEMCALTriggerSTUDCSConfig(const AliEMCALTriggerSTUDCSConfig &cd);
66 : AliEMCALTriggerSTUDCSConfig &operator=(const AliEMCALTriggerSTUDCSConfig &cd);
67 :
68 : private:
69 :
70 : Int_t fG[3][2]; ///< GA,B,C
71 : Int_t fJ[3][2]; ///< JA,B,C
72 : Int_t fGetRawData; ///< GetRawData
73 : Int_t fRegion; ///< Region
74 : Int_t fFw; ///< Firmware version
75 : Int_t fPHOSScale[4]; ///< PHOS scale factors
76 : TClonesArray *fTRUErrorCounts[32]; /// TRU error counts
77 :
78 50 : ClassDef(AliEMCALTriggerSTUDCSConfig,4) //
79 : };
80 : #endif
81 :
|