1 #ifndef ALIMUONTRIGGERIO_H
2 #define ALIMUONTRIGGERIO_H
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
10 /// \class AliMUONTriggerIO
11 /// \brief Handles read/write of masks and LUT to/from online files
13 // Author Laurent Aphecetche, Subatech
23 #include <Riostream.h>
25 class AliMUONTriggerLut;
26 class AliMUONVCalibParam;
29 class AliMUONTriggerIO : public TObject
33 AliMUONTriggerIO(const char* regionalFileToRead);
34 virtual ~AliMUONTriggerIO();
36 Bool_t ReadMasks(const char* localFile,
37 const char* regionalFile,
38 const char* globalFile,
39 AliMUONVStore* localMasks,
40 AliMUONVStore* regionalMasks,
41 AliMUONVCalibParam* globalMasks);
43 Bool_t ReadLUT(const char* lutFileToRead, AliMUONTriggerLut& lut);
45 Bool_t WriteLUT(const AliMUONTriggerLut& lut,
46 const char* lutFileToWrite);
48 // void SetLocalBoardIds(const TArrayI& localBoardIds);
50 // Bool_t WriteMasks(AliMUONVStore* localMasks,
51 // AliMUONVStore* regionalMasks,
52 // AliMUONVCalibParam* globalMasks) const;
56 void DeCompAddress(UChar_t &ypos, UChar_t &ytri, UChar_t &xdev, UChar_t &xpos,
57 UShort_t address) const;
59 void FillLut(AliMUONTriggerLut& lut,
60 Int_t icirc, UChar_t istripX, UChar_t idev,
61 Int_t lutLpt[16][2], Int_t lutHpt[16][2]) ;
63 Int_t LocalBoardId(Int_t index) const;
65 /// Return number of local boards
66 Int_t NofLocalBoards() const { return fNofLocalBoards; }
68 Int_t ReadRegional(const char* regionalFile, AliMUONVStore* regionalMasks);
70 Int_t ReadLocalMasks(const char* localFile, AliMUONVStore& localMasks) const;
72 void ReadLocalLUT(AliMUONTriggerLut& lut, Int_t localBoardId, FILE* flut);
74 void WriteLocalLUT(const AliMUONTriggerLut& lut, Int_t localBoardId,
77 // void WriteRegional() const;
80 TArrayI fLocalBoardIds; //!< order of the localboards
81 Int_t fNofLocalBoards; //!< number of local boards
83 ClassDef(AliMUONTriggerIO,0) // Read/Write trigger masks and LUT to/from online files