/* $Id$ */
-//*-- Author: Rachid Guernane (LPCCFd)
+/// \ingroup sim
+/// \class AliMUONTriggerElectronics
+/// \brief Manager class for muon trigger electronics
+///
+/// Client of trigger board classes
+///
+/// \author Rachid Guernane (LPCCFd)
#ifndef ROOT_TTask
# include "TTask.h"
class AliMUONCalibrationData;
class AliMUONData;
class AliMUONGlobalTriggerBoard;
-class TClonesArray;
+class AliMUONTriggerCrateStore;
+class AliMUONLocalTrigger;
+class AliMUONGlobalTrigger;
class AliMUONTriggerElectronics : public TTask
{
public:
- AliMUONTriggerElectronics(AliMUONData* Data = 0, AliMUONCalibrationData* =0);
+ AliMUONTriggerElectronics(AliMUONData* data = 0,
+ AliMUONCalibrationData* calibData=0);
virtual ~AliMUONTriggerElectronics();
virtual void Exec(Option_t*);
-// CRATE CONFIG FROM ASCII FILE
- virtual void SetDataSource(TString SourceFile = "$ALICE_ROOT/MUON/data/CRATE.TXT")
+ /// Set Crate config from ascii file
+ virtual void SetDataSource(TString SourceFile =
+ "$ALICE_ROOT/MUON/mapping/data/stationTrigger/crate.dat")
{fSourceFileName = SourceFile;}
- virtual void Factory(AliMUONCalibrationData*);
- void LoadMasks(AliMUONCalibrationData*);
- virtual void AddCrate(char *name);
+ virtual void Factory(AliMUONCalibrationData* calibData);
+ void LoadMasks(AliMUONCalibrationData* calibData);
- virtual AliMUONTriggerCrate* Crate(char *name);
-
- virtual void Feed();
virtual void Feed(UShort_t pattern[2][4]);
- virtual void FeedM();
-
- virtual void BoardName(Int_t ix, Int_t iy, char *name);
-
+ virtual void FeedM();
+
virtual void Reset();
virtual void Scan(Option_t *option);
virtual void RegionalResponse();
virtual void GlobalResponse();
- virtual void BuildName(Int_t icirc, char name[20]);
-
virtual void DumpOS();
virtual void Digits2Trigger();
virtual void Trigger();
- virtual void ClearDigitNumbers();
- virtual void DigitFiredCircuit(Int_t circuit, Int_t cathode, Int_t chamber, Int_t digit);
-
-// virtual AliMUONData* GetMUONData() {return fMUONData;}
- protected:
+ private:
AliMUONTriggerElectronics(const AliMUONTriggerElectronics& right);
AliMUONTriggerElectronics& operator = (const AliMUONTriggerElectronics& right);
private:
- TString fSourceFileName;
- TClonesArray *fCrates;
- AliMUONGlobalTriggerBoard *fGlobalTriggerBoard;
- Int_t fNCrates;
- static const Int_t fgkNCrates;
- UShort_t fLocal[16][16]; // 16 crates of 16 LB
- UShort_t fRegional[16];
- UShort_t fGlobal;
- AliMUONData *fMUONData; //! Data container for MUON subsystem
- TArrayI fDigitNumbers[234]; //! The digit number that fired a circuit.
- char **fCrateMap;
- Int_t fBoardMap[234];
-
- ClassDef(AliMUONTriggerElectronics,1)
+ TString fSourceFileName; ///< Source file
+ AliMUONTriggerCrateStore *fCrates; ///< Crate array
+ AliMUONGlobalTriggerBoard *fGlobalTriggerBoard; ///< Global trigger board
+ AliMUONData *fMUONData; //!< Data container for MUON subsystem
+ AliMUONLocalTrigger* fLocalTrigger; //!< pointer for local trigger container
+ AliMUONGlobalTrigger* fGlobalTrigger; //!< pointer for global trigger container
+
+ ClassDef(AliMUONTriggerElectronics,2)
};
#endif