]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONTriggerDecision.h
New TGeo features allow us to avoid the use of MANY.
[u/mrichter/AliRoot.git] / MUON / AliMUONTriggerDecision.h
index 2628dd33d31728a4b8c0ad5998d4528dec0a70f9..dc6b3c2bd92b884c7a94f050b1c614127b03d898 100644 (file)
@@ -7,11 +7,16 @@
 #ifndef ALIMUONTRIGGERDECISION_H
 #define ALIMUONTRIGGERDECISION_H
 
-////////////////////////////////////////////////
-//  MUON Trigger Decision Class               //
-////////////////////////////////////////////////
+/// \ingroup sim
+/// \class AliMUONTriggerDecision
+/// \brief MUON trigger decision class 
+///
+/////////////////////////////////////////////////
+///  MUON Trigger Decision Class               //
+/////////////////////////////////////////////////
 
 #include <TObject.h>
+#include "AliMUONLocalTrigger.h"
 
 class TClonesArray;
 
@@ -51,7 +56,11 @@ class AliMUONTriggerDecision : public TObject
 
   void ClearDigits();
   TClonesArray* Digits(Int_t DetectionPlane);
-  void AddDigit(Int_t id, Int_t* tracks, Int_t* charges, Int_t* digits);
+
+  void AddDigit(
+               Int_t id, Int_t* tracks, Int_t* charges, Int_t* digits,
+               Int_t digitindex
+       );
 
   // print-debug
   void PrintBitPatXInput(Int_t icirc);
@@ -68,16 +77,24 @@ class AliMUONTriggerDecision : public TObject
   void GetGlobalTrigger(Int_t singlePlus[3], Int_t singleMinus[3], 
                        Int_t singleUndef[3], Int_t pairUnlike[3], 
                        Int_t pairLike[3]) const;  
-  
-
 
 
   ClassDef(AliMUONTriggerDecision,1) // Trigger Decision class
 
-    protected:     
+
+protected:
+
   AliMUONTriggerDecision(const AliMUONTriggerDecision& rhs);
   AliMUONTriggerDecision& operator=(const AliMUONTriggerDecision& rhs);
 
+  void ClearDigitNumbers();
+
+  void DigitFiredCircuit(
+                Int_t circuit, Int_t cathode,
+                Int_t chamber, Int_t digit
+        );
+
+
   Int_t fDebug;               // print option     
 
   // Global Trigger information [0] : Low pt, [1] : High pt, [2] : All pt 
@@ -111,10 +128,12 @@ class AliMUONTriggerDecision : public TObject
   Int_t fYbit21D[234][16]; // bit pattern YM21 Down
   Int_t fYbit22D[234][16]; // bit pattern YM22 Down
 
+  TArrayI fDigitNumbers[234];  //! The digit number that fired a circuit.
   
   AliLoader*     fLoader;             //! alice loader
   TObjArray*     fTriggerCircuit;     //! List of Trigger Circuit
   TObjArray*     fDigits;             // temp array for digits (both cathodes !) for trigger
+  TArrayI*       fDigitIndices;       //! Array of digit index numbers, one for each entry in fDigits.
 
   AliMUONData*   fMUONData;           //! Data container for MUON subsystem 
   AliMUON*       fMUON;               //! pointer to MUON