Improving event printout
[u/mrichter/AliRoot.git] / STEER / AliDetectorTag.h
1 #ifndef ALIDETECTORTAG_H
2 #define ALIDETECTORTAG_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6
7 /* $Id$ */
8
9 //-------------------------------------------------------------------------
10 //                          Class AliDetectorTag
11 //   This is the class to deal with the tags for the detector level
12 //
13 //    Origin: Panos Christakoglou, UOA-CERN, Panos.Christakoglou@cern.ch
14 //-------------------------------------------------------------------------
15
16 #include "TObject.h"
17 #include "TObjArray.h"
18
19 //___________________________________________________________________________
20 class AliDetectorTag : public TObject {
21  public:
22   AliDetectorTag();
23   AliDetectorTag(const AliDetectorTag & t);
24
25   AliDetectorTag &operator=(const AliDetectorTag &rhs);
26   virtual ~AliDetectorTag();
27   
28   //____________________________________________________//
29   void SetDetectorMask(UInt_t mask) {fMask = mask; Int2Bin();}
30   TObjArray *GetDetectorMask() {return fDetectorArray;}
31   UInt_t GetIntDetectorMask();
32   void PrintDetectorMask();
33
34   //____________________________________________________//
35   Bool_t GetITSSPD() const {return fITSSPD;}
36   Bool_t GetITSSDD() const {return fITSSDD;}
37   Bool_t GetITSSSD() const {return fITSSSD;}
38   Bool_t GetTPC() const {return fTPC;}
39   Bool_t GetTRD() const {return fTRD;}
40   Bool_t GetTOF() const {return fTOF;}
41   Bool_t GetHMPID() const {return fHMPID;}
42   Bool_t GetPHOS() const {return fPHOS;}
43   Bool_t GetPMD() const {return fPMD;}
44   Bool_t GetMUON() const {return fMUON;}
45   Bool_t GetFMD() const {return fFMD;}
46   Bool_t GetTZERO() const {return fTZERO;}
47   Bool_t GetVZERO() const {return fVZERO;}
48   Bool_t GetZDC() const {return fZDC;}
49   Bool_t GetEMCAL() const {return fEMCAL;}
50   
51   //____________________________________________________//
52  private:
53   void Int2Bin();
54   void SetDetectorConfiguration();
55
56   void SetITSSPD() {fITSSPD = kTRUE;}
57   void SetITSSDD() {fITSSDD = kTRUE;}
58   void SetITSSSD() {fITSSSD = kTRUE;}
59   void SetTPC() {fTPC = kTRUE;}
60   void SetTRD() {fTRD = kTRUE;}
61   void SetTOF() {fTOF = kTRUE;}
62   void SetHMPID() {fHMPID = kTRUE;}
63   void SetPHOS() {fPHOS = kTRUE;}
64   void SetPMD() {fPMD = kTRUE;}
65   void SetMUON() {fMUON = kTRUE;}
66   void SetFMD() {fFMD = kTRUE;}
67   void SetTZERO() {fTZERO = kTRUE;}
68   void SetVZERO() {fVZERO = kTRUE;}
69   void SetZDC() {fZDC = kTRUE;}
70   void SetEMCAL() {fEMCAL = kTRUE;}
71   
72   TObjArray *fDetectorArray; //detectors' names - active
73   UInt_t     fMask;          //detector mask
74   UInt_t     fDetectors[32]; //detector mask
75   Bool_t     fITSSPD;        //ITS-SPD active = 1
76   Bool_t     fITSSDD;        //ITS-SDD active = 1
77   Bool_t     fITSSSD;        //ITS-SSD active = 1
78   Bool_t     fTPC;           //TPC active = 1
79   Bool_t     fTRD;           //TRD active = 1
80   Bool_t     fTOF;           //TOF active = 1
81   Bool_t     fHMPID;         //HMPID active = 1
82   Bool_t     fPHOS;          //PHOS active = 1
83   Bool_t     fPMD;           //PMD active = 1
84   Bool_t     fMUON;          //MUON active = 1
85   Bool_t     fFMD;           //FMD active = 1
86   Bool_t     fTZERO;         //TZERO active = 1
87   Bool_t     fVZERO;         //VZERO active = 1
88   Bool_t     fZDC;           //ZDC active = 1
89   Bool_t     fEMCAL;         //EMCAL active = 1
90
91   ClassDef(AliDetectorTag,4)  //(ClassName, ClassVersion)
92 };
93 //______________________________________________________________________________
94
95 #endif