]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONTriggerGUI.h
Add MCNSD flag to trigger mask
[u/mrichter/AliRoot.git] / MUON / AliMUONTriggerGUI.h
index b22917d34c193365453070a1e4ac99f79f0df30f..799c732f4d117c0c72c6a58501462f1c9e8f5f15 100644 (file)
@@ -4,15 +4,13 @@
 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
  * See cxx source for full Copyright notice                               */
 
+/* $Id$ */
+
 /// \ingroup evaluation
 /// \class AliMUONTriggerGUI
-/// \brief Trigger GUI utility class
+/// \brief Graphical User Interface utility class for the MUON trigger detector
+//  Author Bogdan Vulpescu, LPC Clermont-Ferrand
 
-//////////////////////////////////////////////////////////////////////////
-//                                                                      //
-// Graphical User Interface utility class for the MUON trigger          //
-//                                                                      //
-//////////////////////////////////////////////////////////////////////////
 
 #include <TObject.h>
 #include <TObjArray.h>
@@ -31,31 +29,47 @@ class AliStack;
 class AliLoader;
 class AliRunLoader;
 class AliCDBManager;
+class AliRawReader;
 class AliMUONCalibrationData;
 class AliMUONTriggerGUIboard;
 class AliMUONTriggerGUIdimap;
-class AliMUONData;
 class AliMUONTriggerElectronics;
+class AliMUONTriggerCrateStore;
+class AliMUONMCDataInterface;
+class AliMUONDigitStoreV2R;
+class AliMUONDigitStoreV1;
+class AliMUONTriggerStoreV1;
 
 class AliMUONTriggerGUI : public TObject
 {
 
 public:
 
-  AliMUONTriggerGUI();
+  AliMUONTriggerGUI(Int_t runNumber = 0);
   virtual ~AliMUONTriggerGUI() { 
     /// main gui destructor 
   };
   
-  AliMUONTriggerGUI (const AliMUONTriggerGUI& board);
-  AliMUONTriggerGUI& operator=(const AliMUONTriggerGUI& board);
-
   void OpenBoard(Int_t id);
   void HandleMenu(Int_t id);
 
+  void CreateDigitStore();
+  void PrintDigitStore() const;
+  void ClearDigitStore();
+
+  void CreateTriggerStore();
+  void PrintTriggerStore() const;
+  void ClearTriggerStore();
+
+  void WriteTriggerRawData();
+
+  void FET(Int_t onoff);
+  void FETboard(Int_t ib, Int_t amp);
+
   /* Do functions */
 
-  void DoRunApply();
+  void DoRunGalApply();
+  void DoRunRawApply();
   void DoRunCancel();
   void DoControlClose();
   void DoCircuitCancel();
@@ -65,6 +79,11 @@ public:
   void DoPreviousEvent();
   void DoSkipToEvent();
   void DoErrorGUI(const Char_t *wt);
+  void DoFETRegRun(Int_t onoff);
+  void DoFETRegOnCancel();
+  void DoFETRegOffCancel();
+  void DoFETRegOnRun();
+  void DoFETRegOffRun();
 
   /* Close functions */
 
@@ -73,11 +92,20 @@ public:
   void CloseError() const;
   void CloseControl() const;
   void CloseCircuit() const;
+  void CloseFETRegOn() const;
+  void CloseFETRegOff() const;
 
+private:
+    
+  AliMUONTriggerGUI (const AliMUONTriggerGUI& board); ///< copy constructor
+  AliMUONTriggerGUI& operator=(const AliMUONTriggerGUI& board);///< assignment operator
+  
 private:
   
-  enum { kNBoards = 234, kNMT = 4 };    ///< nr of boards, nr of chambers
+  /// nr of boards, nr of chambers
+  enum { kNBoards = 234, kNMT = 4 }; 
 
+  /// working status flags
   enum EMenuIdentifiers {
     
     kMFILEEXIT,
@@ -89,9 +117,21 @@ private:
 
     kMCIRCUITOPEN,
 
-    kMTRIGGERDSET
+    kMFETON,
+    kMFETOFF,
+    kMFETREGON,
+    kMFETREGOFF,
 
-  };                                    ///< gui menu identifiers
+    kMDSTORE,
+    kMTSTORE,
+    kMDSTORECL,
+    kMTSTORECL,
+    kMDSTOREP,
+    kMTSTOREP,
+
+    kMTRAWDATA
+
+  };
 
   enum {
     kGood = 0x0001, kWithProblems = 0x0002, kNotWorking = 0x0004, kUnknown = 0x0008
@@ -102,11 +142,15 @@ private:
   TGTextBuffer     *fTxtBuffer1;    ///< Path to the data (galice.root)
   TGTextBuffer     *fTxtBuffer2;    ///< Current event number
   TGTextBuffer     *fTxtCircuit;    ///< Circuit to open
+  TGTextBuffer     *fTxtFETRegOn;   ///< Regional crate to FET ON
+  TGTextBuffer     *fTxtFETRegOff;  ///< Regional crate to FET OFF
 
   TGTransientFrame *fRunInput;      ///< Run input window
   TGTransientFrame *fError;         ///< Error window
   TGTransientFrame *fControl;       ///< Run control window
   TGTransientFrame *fCircuit;       ///< Circuit window
+  TGTransientFrame *fFETRegOn;      ///< FET ON for a regional card
+  TGTransientFrame *fFETRegOff;     ///< FET OFF for a regional card
 
   TGTextEntry      *fSkipToEventTxt;///< Control field shows current event number
 
@@ -123,18 +167,31 @@ private:
 
   AliCDBManager    *fCDBManager;    ///< Calibration DB manager
   AliMUONCalibrationData *fCalibrationData;   ///< Calibration data for MUON
+  AliMUONTriggerCrateStore *fCrateManager;    ///< trigger boards manager
+  AliMUONMCDataInterface *fMCDataInterface;   ///< MC data interface
 
   Bool_t            fBoardsInit;    ///< Control the InitBoards only once
+  Bool_t            fControlOn;     ///< If the control frame is open
 
   AliMUONTriggerGUIdimap *fDiMap;   ///< Digits map
 
   AliMUONTriggerElectronics *fTriggerProcessor;   ///< The GUI trigger processor
-  AliMUONData      *fMUONData;      ///< The MUON data manager
 
   TObjArray *fBoards;               ///< The array of trigger boards
+
+  AliMUONDigitStoreV2R *fDigitStore;    ///< GUI digit store (DSET)
+  AliMUONTriggerStoreV1* fTriggerStore; ///< Trigger store with GUI digit store
+  Bool_t fTStoreOn;                   ///< True if DSET trigger store has data
+  Bool_t fRUNRAW;                     ///< True if run with raw data (root)
+  AliRawReader *fRawReader;           ///< Reader for raw data input
+  Int_t fCurrentRawEvent;             ///< Current event for raw data input
+  AliMUONDigitStoreV1 *fRawDigitStore; ///< Digit store from raw data
+  AliMUONTriggerStoreV1 *fRawTriggerStore; ///< Trigger store from raw data
+
+  /// Access the array of trigger boards
   TObjArray *Boards() {
     if(!fBoards) fBoards = new TObjArray(kNBoards); return fBoards;
-  };                                ///< Access the array of trigger boards
+  };                                
   AliMUONTriggerGUIboard *GetBoard(Int_t id) const;
 
   virtual void Init();
@@ -142,7 +199,7 @@ private:
 
   void  SetStripBoxes(AliMUONTriggerGUIboard *board);
 
-  ClassDef(AliMUONTriggerGUI,1)      // Main GUI class for the MUON trigger
+  ClassDef(AliMUONTriggerGUI,2)      // Main GUI class for the MUON trigger
 
 };