//-------------------------------------------------------------------------
#include "TObject.h"
-#include "TClonesArray.h"
-//______________________________________________________________________________
-class AliDetectorTag : public TObject
-{
- private:
- Bool_t fITS; //ITS active = 1
- Bool_t fTPC; //TPC active = 1
- Bool_t fTRD; //TRD active = 1
- Bool_t fTOF; //TOF active = 1
- Bool_t fHMPID; //HMPID active = 1
- Bool_t fPHOS; //PHOS active = 1
- Bool_t fZDC; //ZDC active = 1
- Bool_t fMUON; //MUON active = 1
- Bool_t fABSORBER; //ABSORBER active = 1
- Bool_t fPMD; //PMD active = 1
- Bool_t fRICH; //RICH active = 1
- Bool_t fEMCAL; //EMCAL active = 1
- Bool_t fVZERO; //VZERO active = 1
- Bool_t fTZERO; //TZERO active = 1
+#include "TObjArray.h"
+#include "AliDAQ.h"
+//___________________________________________________________________________
+class AliDetectorTag : public TObject {
public:
AliDetectorTag();
- AliDetectorTag(AliDetectorTag *t);
+ AliDetectorTag(const AliDetectorTag & t);
+
+ AliDetectorTag &operator=(const AliDetectorTag &rhs);
virtual ~AliDetectorTag();
- void SetITS(Int_t n) {fITS = n;}
- void SetTPC(Int_t n) {fTPC = n;}
- void SetTRD(Int_t n) {fTRD = n;}
- void SetTOF(Int_t n) {fTOF = n;}
- void SetHMPID(Int_t n) {fHMPID = n;}
- void SetPHOS(Int_t n) {fPHOS = n;}
- void SetZDC(Int_t n) {fZDC = n;}
- void SetMUON(Int_t n) {fMUON = n;}
- void SetABSORBER(Int_t n) {fABSORBER = n;}
- void SetPMD(Int_t n) {fPMD = n;}
- void SetRICH(Int_t n) {fRICH = n;}
- void SetEMCAL(Int_t n) {fEMCAL = n;}
- void SetVZERO(Int_t n) {fVZERO = n;}
- void SetTZERO(Int_t n) {fTZERO = n;}
+ void UpdateFromRunTable(AliDetectorTag &detTag);
+
+ //____________________________________________________//
+ void SetDetectorMask(UInt_t mask) {fMaskDAQ = mask; fMaskReco = mask; }
+ void SetDetectorMaskDAQ(UInt_t mask) {fMaskDAQ = mask;}
+ void SetDetectorMaskReco(UInt_t mask) {fMaskReco = mask;}
+ void SetDetectorValidityRange(UChar_t idet, UShort_t vr) {fDetectorValidityRange[idet] = vr; }
+ void SetDetectorStatus(UChar_t idet, TString co) { fDetectorStatus[idet] = co; }
+ TObjArray *GetDetectorMask() { return 0; } // {return fDetectorArray;}
+ UInt_t GetIntDetectorMask() { return fMaskDAQ; }
+ UInt_t GetIntDetectorMaskDAQ() { return fMaskDAQ; }
+ UInt_t GetIntDetectorMaskReco() { return fMaskReco; }
+ UShort_t GetDetectorValidityRange(UChar_t idet) const { return fDetectorValidityRange[idet]; }
+ TString GetDetectorStatus(UChar_t idet) const { return fDetectorStatus[idet]; }
+ const char *GetDetectorMaskDAQ() { return AliDAQ::ListOfTriggeredDetectors(fMaskDAQ); }
+ const char *GetDetectorMaskReco() { return AliDAQ::ListOfTriggeredDetectors(fMaskReco); }
+ void PrintDetectorMask();
+
+ //____________________________________________________//
+ Bool_t GetITSSPD() const {return fMaskDAQ & AliDAQ::kSPD;}
+ Bool_t GetITSSDD() const {return fMaskDAQ & AliDAQ::kSSD;}
+ Bool_t GetITSSSD() const {return fMaskDAQ & AliDAQ::kSSD;}
+ Bool_t GetTPC() const {return fMaskDAQ & AliDAQ::kTPC;}
+ Bool_t GetTRD() const {return fMaskDAQ & AliDAQ::kTRD;}
+ Bool_t GetTOF() const {return fMaskDAQ & AliDAQ::kTOF;}
+ Bool_t GetHMPID() const {return fMaskDAQ & AliDAQ::kHMPID;}
+ Bool_t GetPHOS() const {return fMaskDAQ & AliDAQ::kPHOS;}
+ Bool_t GetPMD() const {return fMaskDAQ & AliDAQ::kPMD;}
+ Bool_t GetMUON() const {return fMaskDAQ & AliDAQ::kMUON;}
+ Bool_t GetFMD() const {return fMaskDAQ & AliDAQ::kFMD;}
+ Bool_t GetTZERO() const {return fMaskDAQ & AliDAQ::kT0;}
+ Bool_t GetVZERO() const {return fMaskDAQ & AliDAQ::kVZERO;}
+ Bool_t GetZDC() const {return fMaskDAQ & AliDAQ::kZDC;}
+ Bool_t GetEMCAL() const {return fMaskDAQ & AliDAQ::kEMCAL;}
- Bool_t GetITS() {return fITS;}
- Bool_t GetTPC() {return fTPC;}
- Bool_t GetTRD() {return fTRD;}
- Bool_t GetTOF() {return fTOF;}
- Bool_t GetHMPID() {return fHMPID;}
- Bool_t GetPHOS() {return fPHOS;}
- Bool_t GetZDC() {return fZDC;}
- Bool_t GetMUON() {return fMUON;}
- Bool_t GetABSORBER() {return fABSORBER;}
- Bool_t GetPMD() {return fPMD;}
- Bool_t GetRICH() {return fRICH;}
- Bool_t GetEMCAL() {return fEMCAL;}
- Bool_t GetVZERO() {return fVZERO;}
- Bool_t GetTZERO() {return fTZERO;}
+ //____________________________________________________//
+ private:
+ // void Int2Bin();
+ // void SetDetectorConfiguration();
+
+ void SetITSSPD() {fMaskDAQ |= AliDAQ::kSPD ;}
+ void SetITSSDD() {fMaskDAQ |= AliDAQ::kSDD ;}
+ void SetITSSSD() {fMaskDAQ |= AliDAQ::kSSD ;}
+ void SetTPC() {fMaskDAQ |= AliDAQ::kTPC ;}
+ void SetTRD() {fMaskDAQ |= AliDAQ::kTRD ;}
+ void SetTOF() {fMaskDAQ |= AliDAQ::kTOF ;}
+ void SetHMPID() {fMaskDAQ |= AliDAQ::kHMPID;}
+ void SetPHOS() {fMaskDAQ |= AliDAQ::kPHOS ;}
+ void SetPMD() {fMaskDAQ |= AliDAQ::kPMD ;}
+ void SetMUON() {fMaskDAQ |= AliDAQ::kMUON ;}
+ void SetFMD() {fMaskDAQ |= AliDAQ::kFMD ;}
+ void SetTZERO() {fMaskDAQ |= AliDAQ::kT0 ;}
+ void SetVZERO() {fMaskDAQ |= AliDAQ::kVZERO;}
+ void SetZDC() {fMaskDAQ |= AliDAQ::kZDC ;}
+ void SetEMCAL() {fMaskDAQ |= AliDAQ::kEMCAL;}
- ClassDef(AliDetectorTag,1) //(ClassName, ClassVersion)
+ // TObjArray *fDetectorArray; //detectors' names - active
+ UInt_t fMaskDAQ; //detector mask in DAQ
+ UInt_t fMaskReco; //detector mask in Reco
+ // UInt_t fDetectors[32]; //detector mask
+ // Bool_t fITSSPD; //ITS-SPD active = 1
+ // Bool_t fITSSDD; //ITS-SDD active = 1
+ // Bool_t fITSSSD; //ITS-SSD active = 1
+ // Bool_t fTPC; //TPC active = 1
+ // Bool_t fTRD; //TRD active = 1
+ // Bool_t fTOF; //TOF active = 1
+ // Bool_t fHMPID; //HMPID active = 1
+ // Bool_t fPHOS; //PHOS active = 1
+ // Bool_t fPMD; //PMD active = 1
+ // Bool_t fMUON; //MUON active = 1
+ // Bool_t fFMD; //FMD active = 1
+ // Bool_t fTZERO; //TZERO active = 1
+ // Bool_t fVZERO; //VZERO active = 1
+ // Bool_t fZDC; //ZDC active = 1
+ // Bool_t fEMCAL; //EMCAL active = 1
+
+ UShort_t fDetectorValidityRange[AliDAQ::kHLTId];
+ TString fDetectorStatus[AliDAQ::kHLTId];
+
+ ClassDef(AliDetectorTag, 6) //(ClassName, ClassVersion)
};
//______________________________________________________________________________