Write only detector coefficients from HLT (Raphaelle)
[u/mrichter/AliRoot.git] / MUON / AliMUONTriggerLut.h
index 8d81fe4..cfaeb91 100644 (file)
@@ -6,43 +6,63 @@
 /* $Id$ */
 // Revision of includes 07/05/2004
 
+/// \ingroup calib
+/// \class AliMUONTriggerLut
+/// \brief MUON trigger look up table class 
+///
+//  Author: Philippe Crochet
+
 #include <TNamed.h>
 
-class TH3S;
+class TH3;
+class TMap;
 
 //----------------------------------------------
 class AliMUONTriggerLut : public TNamed 
 {
  public: 
   AliMUONTriggerLut();    // constructor
-  ~AliMUONTriggerLut();   // destructor
+  virtual ~AliMUONTriggerLut();   // destructor
 
-  void LoadLut();
+  Int_t Compare(const TObject* object) const;
   
   void GetLutOutput(Int_t circuit, Int_t xstrip, Int_t idev, Int_t ystrip, 
-                   Int_t lutLpt[2], Int_t lutHpt[2], Int_t lutApt[2]);
+                   Int_t lutLpt[2], Int_t lutHpt[2]) const;
+
+  void ReadFromFile(const char* filename);
+  
+  void SetContent(const char* hname, Int_t icirc, UChar_t istripX, 
+                  UChar_t idev, Short_t value); 
 
- protected:
-  // copy constructor
-  AliMUONTriggerLut (const AliMUONTriggerLut& AliMUONTriggerLut); 
-  // assignment operator
-  AliMUONTriggerLut& operator=(const AliMUONTriggerLut& AliMUONTriggerLut); 
-               
  private:
-  Int_t GetMask(Int_t ystrip);
-
-  ClassDef(AliMUONTriggerLut,1) // Trigger Look up Table class
-
-    private:
-  TH3S *fLptPlus; //3-d histogram with 234x32x31 bins Low pt Plus  
-  TH3S *fLptMinu; //3-d histogram with 234x32x31 bins Low pt Minus
-  TH3S *fLptUnde; //3-d histogram with 234x32x31 bins Low pt Undefined
-  TH3S *fHptPlus; //3-d histogram with 234x32x31 bins High pt Plus
-  TH3S *fHptMinu; //3-d histogram with 234x32x31 bins High pt Minus 
-  TH3S *fHptUnde; //3-d histogram with 234x32x31 bins High pt Undefined 
-  TH3S *fAptPlus; //3-d histogram with 234x32x31 bins All pt Plus  
-  TH3S *fAptMinu; //3-d histogram with 234x32x31 bins All pt Minus  
-  TH3S *fAptUnde; //3-d histogram with 234x32x31 bins All pt Undefined    
+  
+    /// Not implemented copy constructor
+  AliMUONTriggerLut (const AliMUONTriggerLut& AliMUONTriggerLut);
+  /// Not implemented assignment operator
+  AliMUONTriggerLut& operator=(const AliMUONTriggerLut& AliMUONTriggerLut); 
+
+  void Add(TH3* h);
+
+  Int_t Compare(TH3* h1, TH3* h2) const;
+  
+  Int_t GetMask(Int_t ystrip) const;
+
+  void RegisterHistos();
+  
+private:
+  TH3 *fLptPlus; ///< 3-d histogram with 234x32x31 bins Low pt Plus  
+  TH3 *fLptMinu; ///< 3-d histogram with 234x32x31 bins Low pt Minus
+  TH3 *fLptUnde; ///< 3-d histogram with 234x32x31 bins Low pt Undefined
+  TH3 *fHptPlus; ///< 3-d histogram with 234x32x31 bins High pt Plus
+  TH3 *fHptMinu; ///< 3-d histogram with 234x32x31 bins High pt Minus 
+  TH3 *fHptUnde; ///< 3-d histogram with 234x32x31 bins High pt Undefined 
+  TH3 *fAptPlus; ///< 3-d histogram with 234x32x31 bins All pt Plus  
+  TH3 *fAptMinu; ///< 3-d histogram with 234x32x31 bins All pt Minus  
+  TH3 *fAptUnde; ///< 3-d histogram with 234x32x31 bins All pt Undefined    
+
+  TMap* fMap; //!< from name to histo
+  
+  ClassDef(AliMUONTriggerLut,2) // Trigger Look up Table class
 
 };
 #endif