// Author Laurent Aphecetche, Subatech
#ifndef ROOT_TArrayI
-# include "TArrayI.h"
+# include <TArrayI.h>
#endif
#ifndef ROOT_TObject
-# include "TObject.h"
+# include <TObject.h>
#endif
-//class AliMUONTriggerLut;
+#include <Riostream.h>
+
+class AliMUONTriggerLut;
class AliMUONVCalibParam;
class AliMUONVStore;
{
public:
AliMUONTriggerIO();
+ AliMUONTriggerIO(const char* regionalFileToRead);
virtual ~AliMUONTriggerIO();
Bool_t ReadMasks(const char* localFile,
AliMUONVStore* regionalMasks,
AliMUONVCalibParam* globalMasks);
+ Bool_t ReadLUT(const char* lutFileToRead, AliMUONTriggerLut& lut);
+
+ Bool_t WriteLUT(const AliMUONTriggerLut& lut,
+ const char* lutFileToWrite);
+
// void SetLocalBoardIds(const TArrayI& localBoardIds);
// Bool_t WriteMasks(AliMUONVStore* localMasks,
private:
+ void DeCompAddress(UChar_t &ypos, UChar_t &ytri, UChar_t &xdev, UChar_t &xpos,
+ UShort_t address) const;
+
+ void FillLut(AliMUONTriggerLut& lut,
+ 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 ReadLocalMasks(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: