#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;
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);
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
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