//-------------------------------------------------------------------------
#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"
+//___________________________________________________________________________
+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 SetDetectorMask(UInt_t mask) {fMask = mask; Int2Bin();}
+ TObjArray *GetDetectorMask() {return fDetectorArray;}
+ UInt_t GetIntDetectorMask();
+ void PrintDetectorMask();
+
+ //____________________________________________________//
+ Bool_t GetITSSPD() const {return fITSSPD;}
+ Bool_t GetITSSDD() const {return fITSSDD;}
+ Bool_t GetITSSSD() const {return fITSSSD;}
+ Bool_t GetTPC() const {return fTPC;}
+ Bool_t GetTRD() const {return fTRD;}
+ Bool_t GetTOF() const {return fTOF;}
+ Bool_t GetHMPID() const {return fHMPID;}
+ Bool_t GetPHOS() const {return fPHOS;}
+ Bool_t GetPMD() const {return fPMD;}
+ Bool_t GetMUON() const {return fMUON;}
+ Bool_t GetFMD() const {return fFMD;}
+ Bool_t GetTZERO() const {return fTZERO;}
+ Bool_t GetVZERO() const {return fVZERO;}
+ Bool_t GetZDC() const {return fZDC;}
+ Bool_t GetEMCAL() const {return fEMCAL;}
- 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() {fITSSPD = kTRUE;}
+ void SetITSSDD() {fITSSDD = kTRUE;}
+ void SetITSSSD() {fITSSSD = kTRUE;}
+ void SetTPC() {fTPC = kTRUE;}
+ void SetTRD() {fTRD = kTRUE;}
+ void SetTOF() {fTOF = kTRUE;}
+ void SetHMPID() {fHMPID = kTRUE;}
+ void SetPHOS() {fPHOS = kTRUE;}
+ void SetPMD() {fPMD = kTRUE;}
+ void SetMUON() {fMUON = kTRUE;}
+ void SetFMD() {fFMD = kTRUE;}
+ void SetTZERO() {fTZERO = kTRUE;}
+ void SetVZERO() {fVZERO = kTRUE;}
+ void SetZDC() {fZDC = kTRUE;}
+ void SetEMCAL() {fEMCAL = kTRUE;}
- ClassDef(AliDetectorTag,1) //(ClassName, ClassVersion)
+ TObjArray *fDetectorArray; //detectors' names - active
+ UInt_t fMask; //detector mask
+ 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
+
+ ClassDef(AliDetectorTag,4) //(ClassName, ClassVersion)
};
//______________________________________________________________________________