]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONTriggerElectronics.h
Coding conventions: adding copy constructor and assignment operator
[u/mrichter/AliRoot.git] / MUON / AliMUONTriggerElectronics.h
index 6fe43eab7a4727435e285b001d7c8ec55a0533c9..d3e17358cd23823b9ea6bd14845524443b16597d 100644 (file)
@@ -5,14 +5,16 @@
 
 /* $Id$ */
 
-//*-- Author: Rachid Guernane (LPCCFd)
-
-#ifndef ROOT_TTask
-#  include "TTask.h"
-#endif
-
-#ifndef ROOT_TArrayI
-#  include "TArrayI.h"
+/// \ingroup sim 
+/// \class AliMUONTriggerElectronics
+/// \brief Manager class for muon trigger electronics
+///
+/// Client of trigger board classes
+///
+/// \author Rachid Guernane (LPCCFd)
+
+#ifndef ROOT_TObject
+#  include "TObject.h"
 #endif
 
 #ifndef ROOT_TString
 
 class AliMUONTriggerCrate;
 class AliMUONCalibrationData;
-class AliMUONData;
 class AliMUONGlobalTriggerBoard;
-class TClonesArray;
+class AliMUONTriggerCrateStore;
+class AliMUONVTriggerStore;
+class AliMUONVDigitStore;
 
-class AliMUONTriggerElectronics : public TTask
+class AliMUONTriggerElectronics : public TObject
 {
    public:
-      AliMUONTriggerElectronics(AliMUONData* Data = 0, AliMUONCalibrationData* =0);
-      virtual ~AliMUONTriggerElectronics();
+      AliMUONTriggerElectronics(AliMUONCalibrationData* calibData=0);
 
-      virtual void Exec(Option_t*);
-      
-//    CRATE CONFIG FROM ASCII FILE
-      virtual void SetDataSource(TString SourceFile = "$ALICE_ROOT/MUON/data/CRATE.TXT") 
-      {fSourceFileName = SourceFile;}
-
-      virtual void Factory(AliMUONCalibrationData*);
-      void LoadMasks(AliMUONCalibrationData*);
-      virtual void AddCrate(char *name);
+      virtual ~AliMUONTriggerElectronics();
 
-      virtual AliMUONTriggerCrate* Crate(char *name);
+      virtual void Factory(AliMUONCalibrationData* calibData);
+      void LoadMasks(AliMUONCalibrationData* calibData);
 
-      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 Feed(const AliMUONVDigitStore& digitStore);
       virtual void Reset();
 
       virtual void Scan(Option_t *option);
@@ -57,35 +48,30 @@ class AliMUONTriggerElectronics : public TTask
       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 void Digits2Trigger(const AliMUONVDigitStore& digitStore,
+                                  AliMUONVTriggerStore& triggerStore);
+
 
-//      virtual AliMUONData* GetMUONData() {return fMUONData;}
+      /// Return Crate array
+      AliMUONTriggerCrateStore* GetCrateStore() {return fCrates;}
 
-   protected:
+   private:
+      /// Not implemented
       AliMUONTriggerElectronics(const AliMUONTriggerElectronics& right);
+      /// Not implemented
       AliMUONTriggerElectronics&  operator = (const AliMUONTriggerElectronics& right);
      
+      /// set copy card array
+      void SetCopyInput();
+
    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)
+      TList*                     fCopyXInput[2];         ///< list of copy X input from local to local board
+      TList*                     fCopyYInput[2];         ///< list of copy Y input from local to local board
+      AliMUONTriggerCrateStore  *fCrates;             ///< Crate array
+      AliMUONGlobalTriggerBoard *fGlobalTriggerBoard; ///< Global trigger board
+      
+   ClassDef(AliMUONTriggerElectronics,4) //Manager class for muon trigger electronics
 };
 #endif