/* 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>
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();
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 */
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,
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
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
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();
void SetStripBoxes(AliMUONTriggerGUIboard *board);
- ClassDef(AliMUONTriggerGUI,1) // Main GUI class for the MUON trigger
+ ClassDef(AliMUONTriggerGUI,2) // Main GUI class for the MUON trigger
};