]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONTriggerIO.h
Added writing methods for regional & local masks (Christian)
[u/mrichter/AliRoot.git] / MUON / AliMUONTriggerIO.h
index d8f782706db0b55810bab1ab84264b4ddf26bd88..823b5306d4e679159cd2042fd6005e19dd164b95 100644 (file)
 #endif
 
 #include <Riostream.h>
+#include "AliMpExMap.h"
 
 class AliMUONTriggerLut;
 class AliMUONVCalibParam;
 class AliMUONVStore;
+class AliMpExMap;
+class AliMpTriggerCrate;
+class AliMpLocalBoard;
 
 class AliMUONTriggerIO : public TObject
 {
@@ -38,7 +42,8 @@ public:
                    const char* globalFile,
                    AliMUONVStore* localMasks,
                    AliMUONVStore* regionalMasks,
-                   AliMUONVCalibParam* globalMasks);
+                   AliMUONVCalibParam* globalMasks,
+                  Bool_t warn = true);
   
   Bool_t ReadLUT(const char* lutFileToRead, AliMUONTriggerLut& lut);
   
@@ -47,10 +52,21 @@ public:
   
 //  void SetLocalBoardIds(const TArrayI& localBoardIds);
   
-//  Bool_t WriteMasks(AliMUONVStore* localMasks,
-//                    AliMUONVStore* regionalMasks,
-//                    AliMUONVCalibParam* globalMasks) const;
+  Int_t LocalBoardId(Int_t index) const;
+
+  Bool_t WriteMasks(const char* localFile,
+                   const char* regionalFile,
+                   const char* globalFile,
+                   AliMUONVStore* localMasks,
+                    AliMUONVStore* regionalMasks,
+                    AliMUONVCalibParam* globalMasks) const;
   
+
+  AliMpTriggerCrate* GetTriggerCrate(TString crateName, Bool_t warn = true) const;
+  AliMpLocalBoard*   GetLocalBoard(Int_t localBoardId, Bool_t warn = true) const;
+
+  void UpdateMapping() const;
+
 private:
   
   void DeCompAddress(UChar_t &ypos, UChar_t &ytri, UChar_t &xdev, UChar_t &xpos, 
@@ -60,27 +76,32 @@ private:
                Int_t icirc, UChar_t istripX, UChar_t idev,  
                Int_t lutLpt[16][2], Int_t lutHpt[16][2]) ;
   
-  Int_t LocalBoardId(Int_t index) const;
   
   /// Return number of local boards
   Int_t NofLocalBoards() const { return fNofLocalBoards; }
   
-  Int_t ReadRegional(const char* regionalFile, AliMUONVStore* regionalMasks);
+  Int_t ReadRegional(const char* regionalFile, AliMUONVStore* regionalMasks, Bool_t warn = true);
+
+  Bool_t WriteRegional(const char* regionalFile, AliMUONVStore* regionalMasks) const;
 
   Int_t ReadLocalMasks(const char* localFile, AliMUONVStore& localMasks) const;
   
+  Bool_t WriteLocalMasks(const char* localFile, AliMUONVStore& localMasks) const;
+
   void ReadLocalLUT(AliMUONTriggerLut& lut, Int_t localBoardId, FILE* flut);
   
   void WriteLocalLUT(const AliMUONTriggerLut& lut, Int_t localBoardId, 
                        FILE* flut);
     
-//  void WriteRegional() const;
   
 private:
   TArrayI fLocalBoardIds; //!< order of the localboards
   Int_t fNofLocalBoards; //!< number of local boards
+  AliMpExMap    fTriggerCrates;  //!< The map of trigger crate per their ID
+  AliMpExMap    fLocalBoards;    ///< The map of local board per their ID
+
   
-  ClassDef(AliMUONTriggerIO,0) // Read/Write trigger masks and LUT to/from online files
+  ClassDef(AliMUONTriggerIO,1) // Read/Write trigger masks and LUT to/from online files
 };
 
 #endif