ROOT logo
#ifndef ALIMUONTRIGGERGUIDIMAP_H
#define ALIMUONTRIGGERGUIDIMAP_H

/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 * See cxx source for full Copyright notice                               */

/// \ingroup evaluation
/// \class AliMUONTriggerGUIdimap
/// \brief Trigger GUI utility class: digits maps of the trigger chambers
//  Author Bogdan Vulpescu, LPC Clermont-Ferrand

#include <TGFrame.h>

class AliLoader;
class AliMUONMCDataInterface;
class AliMUONDigitStoreV1;
class TGTransientFrame;
class TObjArray;
class TRootEmbeddedCanvas;
class TPave;
class TH1F;
class TGWindow;
class TPad;

class AliMUONTriggerGUIdimap : public TGFrame
{
    
public:

 AliMUONTriggerGUIdimap(TObjArray *boards, 
			const TGWindow *p, const TGWindow *main, 
			UInt_t w, UInt_t h);
 virtual ~AliMUONTriggerGUIdimap();
 
 /// set the current muon loader
 void SetLoader(AliLoader * const loader) { fLoader = loader; };
 /// set the MC data interface
 void SetMCDataInterface(AliMUONMCDataInterface * const mc) { fMCDataInterface = mc; };
 /// set the digit store from raw data
 void SetRawDigitStore(AliMUONDigitStoreV1 * const ds) { fRawDigitStore = ds; };

 /// return info if the map is open
 Bool_t IsOn() const { return fIsOn; };
 void DoClose();
 void DoUpdate();
 void DoTab(Int_t id) const;
 void DoReset();
 void CloseWindow();
 void DrawMaps(Int_t chamber);
 void SelectBoard(Int_t ib);
 void DrawAllMaps();

private:
 /// Not implemented  
 AliMUONTriggerGUIdimap (const AliMUONTriggerGUIdimap& dimap);
 /// Not implemented  
 AliMUONTriggerGUIdimap& operator=(const AliMUONTriggerGUIdimap& dimap);
 
private:

  enum { kNBoards = 234 };        ///< number of boards
  enum { kGood = 0x0001, kWithProblems = 0x0002, kNotWorking = 0x0004, kUnknown = 0x0008 };                      ///< working status flags
  enum { kNSide = 2, kNCol = 7, kNLine = 9, kNMT = 4, kNBoardType = 3 }; ///< other constants
  
  TGTransientFrame    *fMain;     ///< Main frame

  AliLoader   *fLoader;           ///< The MUON loader
  AliMUONMCDataInterface *fMCDataInterface;  ///< MC data interface
  AliMUONDigitStoreV1 *fRawDigitStore;       ///< Raw data digit store

  TRootEmbeddedCanvas *fEc[kNMT]; ///< Canvases for drawing the digits

  TPave *fPaveBoard[kNMT][kNBoards];    ///< Drawing of the board
  TObjArray   *fBoards;           ///< Array of boards

  Bool_t fIsOn;                   ///< True if the map is open

  ClassDef(AliMUONTriggerGUIdimap,2) //Trigger GUI utility class: digits maps of the trigger chambers
   
};

#endif
 AliMUONTriggerGUIdimap.h:1
 AliMUONTriggerGUIdimap.h:2
 AliMUONTriggerGUIdimap.h:3
 AliMUONTriggerGUIdimap.h:4
 AliMUONTriggerGUIdimap.h:5
 AliMUONTriggerGUIdimap.h:6
 AliMUONTriggerGUIdimap.h:7
 AliMUONTriggerGUIdimap.h:8
 AliMUONTriggerGUIdimap.h:9
 AliMUONTriggerGUIdimap.h:10
 AliMUONTriggerGUIdimap.h:11
 AliMUONTriggerGUIdimap.h:12
 AliMUONTriggerGUIdimap.h:13
 AliMUONTriggerGUIdimap.h:14
 AliMUONTriggerGUIdimap.h:15
 AliMUONTriggerGUIdimap.h:16
 AliMUONTriggerGUIdimap.h:17
 AliMUONTriggerGUIdimap.h:18
 AliMUONTriggerGUIdimap.h:19
 AliMUONTriggerGUIdimap.h:20
 AliMUONTriggerGUIdimap.h:21
 AliMUONTriggerGUIdimap.h:22
 AliMUONTriggerGUIdimap.h:23
 AliMUONTriggerGUIdimap.h:24
 AliMUONTriggerGUIdimap.h:25
 AliMUONTriggerGUIdimap.h:26
 AliMUONTriggerGUIdimap.h:27
 AliMUONTriggerGUIdimap.h:28
 AliMUONTriggerGUIdimap.h:29
 AliMUONTriggerGUIdimap.h:30
 AliMUONTriggerGUIdimap.h:31
 AliMUONTriggerGUIdimap.h:32
 AliMUONTriggerGUIdimap.h:33
 AliMUONTriggerGUIdimap.h:34
 AliMUONTriggerGUIdimap.h:35
 AliMUONTriggerGUIdimap.h:36
 AliMUONTriggerGUIdimap.h:37
 AliMUONTriggerGUIdimap.h:38
 AliMUONTriggerGUIdimap.h:39
 AliMUONTriggerGUIdimap.h:40
 AliMUONTriggerGUIdimap.h:41
 AliMUONTriggerGUIdimap.h:42
 AliMUONTriggerGUIdimap.h:43
 AliMUONTriggerGUIdimap.h:44
 AliMUONTriggerGUIdimap.h:45
 AliMUONTriggerGUIdimap.h:46
 AliMUONTriggerGUIdimap.h:47
 AliMUONTriggerGUIdimap.h:48
 AliMUONTriggerGUIdimap.h:49
 AliMUONTriggerGUIdimap.h:50
 AliMUONTriggerGUIdimap.h:51
 AliMUONTriggerGUIdimap.h:52
 AliMUONTriggerGUIdimap.h:53
 AliMUONTriggerGUIdimap.h:54
 AliMUONTriggerGUIdimap.h:55
 AliMUONTriggerGUIdimap.h:56
 AliMUONTriggerGUIdimap.h:57
 AliMUONTriggerGUIdimap.h:58
 AliMUONTriggerGUIdimap.h:59
 AliMUONTriggerGUIdimap.h:60
 AliMUONTriggerGUIdimap.h:61
 AliMUONTriggerGUIdimap.h:62
 AliMUONTriggerGUIdimap.h:63
 AliMUONTriggerGUIdimap.h:64
 AliMUONTriggerGUIdimap.h:65
 AliMUONTriggerGUIdimap.h:66
 AliMUONTriggerGUIdimap.h:67
 AliMUONTriggerGUIdimap.h:68
 AliMUONTriggerGUIdimap.h:69
 AliMUONTriggerGUIdimap.h:70
 AliMUONTriggerGUIdimap.h:71
 AliMUONTriggerGUIdimap.h:72
 AliMUONTriggerGUIdimap.h:73
 AliMUONTriggerGUIdimap.h:74
 AliMUONTriggerGUIdimap.h:75
 AliMUONTriggerGUIdimap.h:76
 AliMUONTriggerGUIdimap.h:77
 AliMUONTriggerGUIdimap.h:78
 AliMUONTriggerGUIdimap.h:79
 AliMUONTriggerGUIdimap.h:80
 AliMUONTriggerGUIdimap.h:81
 AliMUONTriggerGUIdimap.h:82