]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TOF/AliTOFTrigger.h
Adding a reminder for coders
[u/mrichter/AliRoot.git] / TOF / AliTOFTrigger.h
index aecc29208b4d9b11bb6378d3f482c56bc184470f..a44d1849616985ec55c3bc5472444b679d0faee7 100644 (file)
 /////////////////////////////////////////////////
 
 #include "AliTriggerDetector.h"
+#include "AliLog.h"
 
 class AliTOFrawData;
+class AliTOFTriggerMask;
 
 class AliTOFTrigger : public AliTriggerDetector
 {
  public:
   AliTOFTrigger();  // constructor
   AliTOFTrigger(Int_t HighMultTh, Int_t ppMBTh, Int_t MultiMuonTh, Int_t UPTh, Float_t deltaminpsi, Float_t deltamaxpsi, Float_t deltaminro, Float_t deltamaxro, Int_t stripWindow); //constructor with parameters
-  AliTOFTrigger(const AliTOFTrigger & tr);
-  virtual ~AliTOFTrigger(){}  // destructor
+  virtual ~AliTOFTrigger();  // destructor
   virtual void    CreateInputs();
   virtual void    Trigger();
   Int_t   GetHighMultTh() const {return fHighMultTh;}
@@ -35,8 +36,11 @@ class AliTOFTrigger : public AliTriggerDetector
   Float_t Getdeltamaxro() const {return fdeltamaxro;}
   Int_t  GetstripWindow() const {return fstripWindow;}
 
+  void LoadActiveMask(); // Load active channel trigger mask
+  void GetMapMatrix(Bool_t map[][24]) const;
   void GetMap(Bool_t **map) const;
   //void PrintMap(); // to be checked because of warning problems
+  void GetTRDmapMatrix(Bool_t map[][8]) const;
   void GetTRDmap(Bool_t **map) const;
   Bool_t GetBit(Int_t nDDL, Int_t nTRM, Int_t iChain,Int_t iTDC, Int_t iCH);
   Bool_t GetBit(Int_t *detind);
@@ -56,6 +60,17 @@ class AliTOFTrigger : public AliTriggerDetector
   void   Setdeltamaxro(Float_t deltamaxro){fdeltamaxro = deltamaxro;}
   void   SetstripWindow(Int_t stripWindow){fstripWindow = stripWindow;}
 
+  Bool_t Return(Int_t i){if(i==0) return fSel1;
+                        else if(i==1) return fSel2;
+                         else if(i==2) return fSel3;
+                         else if(i==3) return fSel4;
+                        else { AliWarning(Form(" Index out of range: %d not in [0,3]",i)); return kFALSE; }
+                       };
+
+  Int_t GetNumberOfCrateOn(){return fNCrateOn;}; 
+  Int_t GetNumberOfMaxipadOn(){return fNMaxipadOn;}; 
+  Int_t GetNumberOfMaxipadOnAll(){return fNMaxipadOnAll;}; 
+  Bool_t *GetLTMarray(){return fLTMarray;};
   void   CreateCTTMMatrix();
   void   CreateLTMMatrix();
   void   CreateLTMMatrixFromDigits();
@@ -70,9 +85,13 @@ class AliTOFTrigger : public AliTriggerDetector
     kNLTMtoTRDchannels = 8  //Number of channels in a CTTM
   };
 
+  AliTOFTrigger& operator=(const AliTOFTrigger &/*source*/); // ass. op.
+  AliTOFTrigger(const AliTOFTrigger & tr);
+
   void    GetCTTMIndex(Int_t *detind, Int_t *indexCTTM);
   void    GetLTMIndex(const Int_t * const detind, Int_t *LTMIndex);
-  Bool_t  fLTMmatrix[kNLTM][kNLTMchannels];         //LTM matrix  
+  Bool_t  fLTMmatrix[kNLTM][kNLTMchannels];         //LTM matrix 
+  Bool_t  fLTMarray[kNCTTM];        //LTM array for UPpurposes
   Bool_t  fCTTMmatrixFront[kNCTTM][kNCTTMchannels];//CTTM matrix for TOP FPGA 
   Bool_t  fCTTMmatrixBack[kNCTTM][kNCTTMchannels]; //CTTM matrix for BOTTOM FPGA
   Int_t   fHighMultTh;             //threshold for High Multiplicity trigger
@@ -85,6 +104,16 @@ class AliTOFTrigger : public AliTriggerDetector
   Float_t fdeltamaxro;             //max delta phi for ro decay (UP trigger)
   Int_t   fstripWindow;            //strip window for triggering
 
+  Bool_t fSel1,fSel2,fSel3,fSel4; // ppMB, PbPbMB2, PbPbMB3, PbPbUP
+
+  UInt_t fPowerMask[kNCTTMchannels+1];  // mask for 24 TDC channels
+
+  Int_t fNCrateOn; // number of crate fired
+  Int_t fNMaxipadOn; // number of Maxipad fired
+  Int_t fNMaxipadOnAll; // number of Maxipad fired w/o TDC dead mask
+  AliTOFTriggerMask *fTOFTrigMask; // class with the TOF trigger mask
+
   ClassDef(AliTOFTrigger,1)  // TOF Trigger Detector class
 };
 #endif
+