1 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2 * See cxx source for full Copyright notice */
5 // $MpId: AliMpTriggerReader.h,v 1.5 2006/05/24 13:58:27 ivana Exp $
8 /// \class AliMpTriggerReader
9 /// \brief Read trigger slat ASCII files
11 // Author: Laurent Aphecetche
13 #ifndef ALI_MP_TRIGGER_READER_H
14 #define ALI_MP_TRIGGER_READER_H
28 #ifndef ALI_MP_PLANE_TYPE_H
29 # include "AliMpPlaneType.h"
32 class AliMpSlatMotifMap;
36 class AliMpDataStreams;
40 class AliMpTriggerReader : public TObject
43 AliMpTriggerReader(AliMpSlatMotifMap* motifMap);
44 virtual ~AliMpTriggerReader();
46 AliMpTrigger* ReadSlat(const AliMpDataStreams& dataStreams,
47 const char* slatType, AliMp::PlaneType planeType);
49 AliMpPCB* ReadPCB(const AliMpDataStreams& dataStreams, const char* pcbType);
53 AliMpSlat* BuildSlat(const AliMpDataStreams& dataStreams,
55 AliMp::PlaneType planeType,
56 const TList& descriptionLines,
59 Int_t DecodeFlipLine(const TString& sline,
61 Bool_t& flipX, Bool_t& flipY);
63 Int_t DecodeScaleLine(const TString& sline,
64 Double_t& scale, TString& slatType);
66 void FlipLines(const AliMpDataStreams& dataStreams,
67 TList& lines, Bool_t flipX, Bool_t flipY,
68 Int_t srcLine, Int_t destLine);
70 TString GetBoardNameFromPCBLine(const TString& sline);
72 Int_t GetLine(const TString& slatType);
74 Int_t IsLayerLine(const TString& sline) const;
76 int LocalBoardNumber(const AliMpDataStreams& dataStreams,
77 const char* localBoardName);
79 // AliMpPCB* PCB(const char* pcbType);
81 void ReadLines(const AliMpDataStreams& dataStreams,
83 AliMp::PlaneType planeType,
85 Double_t& scale, Bool_t& flipX, Bool_t& flipY,
86 Int_t& srcLine, Int_t& destLine);
88 void ReadLocalBoardMapping(const AliMpDataStreams& dataStreams);
92 AliMpTriggerReader(const AliMpTriggerReader& rhs);
94 AliMpTriggerReader& operator=(const AliMpTriggerReader& rhs);
97 static const TString& GetKeywordLayer();
98 static const TString& GetKeywordScale();
99 static const TString& GetKeywordPcb();
100 static const TString& GetKeywordFlipX();
101 static const TString& GetKeywordFlipY();
104 AliMpSlatMotifMap* fMotifMap; //!< storage for motifTypes and motifs...
106 TMap fLocalBoardMap; //!< map of TObjString to TObjString
108 ClassDef(AliMpTriggerReader,0) // Reader for trigger slats mapping files