///
/// \author Rachid Guernane (LPCCFd)
-#ifndef ROOT_TTask
-# include "TTask.h"
-#endif
-
-#ifndef ROOT_TArrayI
-# include "TArrayI.h"
+#ifndef ROOT_TObject
+# include "TObject.h"
#endif
#ifndef ROOT_TString
class AliMUONTriggerCrate;
class AliMUONCalibrationData;
-class AliMUONData;
class AliMUONGlobalTriggerBoard;
class AliMUONTriggerCrateStore;
-class AliMUONLocalTrigger;
-class AliMUONGlobalTrigger;
+class AliMUONVTriggerStore;
+class AliMUONVDigitStore;
-class AliMUONTriggerElectronics : public TTask
+class AliMUONTriggerElectronics : public TObject
{
public:
- AliMUONTriggerElectronics(AliMUONData* data = 0,
- AliMUONCalibrationData* calibData=0);
- virtual ~AliMUONTriggerElectronics();
+ AliMUONTriggerElectronics(AliMUONCalibrationData* calibData=0);
- virtual void Exec(Option_t*);
-
- /// Set Crate config from ascii file
- virtual void SetDataSource(TString SourceFile =
- "$ALICE_ROOT/MUON/mapping/data/stationTrigger/crate.dat")
- {fSourceFileName = SourceFile;}
+ virtual ~AliMUONTriggerElectronics();
virtual void Factory(AliMUONCalibrationData* calibData);
void LoadMasks(AliMUONCalibrationData* calibData);
virtual void Feed(UShort_t pattern[2][4]);
- virtual void FeedM();
- virtual void FeedBoardsGUI(TObjArray *guibs);
-
+ virtual void Feed(const AliMUONVDigitStore& digitStore);
+ virtual void Feed(const AliMUONVTriggerStore& triggerStore);
virtual void Reset();
- virtual void Scan(Option_t *option);
+ virtual void Scan(const Option_t *option);
virtual void LocalResponse();
virtual void RegionalResponse();
virtual void DumpOS();
- virtual void Digits2Trigger();
- virtual void Trigger();
- virtual Int_t TriggerGUI(Int_t *trigInfo, Bool_t patt = kFALSE);
+ virtual void Digits2Trigger(const AliMUONVDigitStore& digitStore,
+ AliMUONVTriggerStore& triggerStore);
+
+ virtual Bool_t ModifiedLocalResponse(Int_t loCircuit,
+ Bool_t& bendingPlaneResp,
+ Bool_t& nonBendingPlaneResp,
+ Bool_t isCoinc44 = kFALSE,
+ Int_t removeChamber = -1);
+
+ virtual void ResponseRemovingChambers(AliMUONVTriggerStore& triggerStore);
+
+ /// Return Crate array
+ AliMUONTriggerCrateStore* GetCrateStore() {return fCrates;}
private:
/// Not implemented
AliMUONTriggerElectronics(const AliMUONTriggerElectronics& right);
/// Not implemented
AliMUONTriggerElectronics& operator = (const AliMUONTriggerElectronics& right);
-
+
+ void FeedCopyNeighbours();
+
+
private:
- 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)
+
+ ClassDef(AliMUONTriggerElectronics,4) //Manager class for muon trigger electronics
};
#endif