]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/AliDetectorTag.h
promoted 2 methods to public needed by AMORE
[u/mrichter/AliRoot.git] / STEER / AliDetectorTag.h
index ecfea369ab3afe6aec7937f927a0533bf72b8520..bcd97361a9208930c646ba48054d0b7edb373991 100644 (file)
 //-------------------------------------------------------------------------
 
 #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)
 };
 //______________________________________________________________________________