]>
Commit | Line | Data |
---|---|---|
1d9e7bed | 1 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * |
2 | * See cxx source for full Copyright notice */ | |
3 | ||
4 | // $Id$ | |
13985652 | 5 | // $MpId: AliMpTriggerReader.h,v 1.5 2006/05/24 13:58:27 ivana Exp $ |
1d9e7bed | 6 | |
cffcff29 | 7 | /// \ingroup mptrigger |
1d9e7bed | 8 | /// \class AliMpTriggerReader |
9 | /// \brief Read trigger slat ASCII files | |
13985652 | 10 | /// |
11 | // Author: Laurent Aphecetche | |
1d9e7bed | 12 | |
13 | #ifndef ALI_MP_TRIGGER_READER_H | |
14 | #define ALI_MP_TRIGGER_READER_H | |
15 | ||
16 | #ifndef ROOT_TObject | |
17 | # include "TObject.h" | |
18 | #endif | |
19 | ||
20 | #ifndef ROOT_TMap | |
21 | # include "TMap.h" | |
22 | #endif | |
23 | ||
24 | #ifndef ROOT_TString | |
25 | # include "TString.h" | |
26 | #endif | |
27 | ||
28 | #ifndef ALI_MP_PLANE_TYPE_H | |
29 | # include "AliMpPlaneType.h" | |
30 | #endif | |
31 | ||
cf25b4e1 | 32 | class AliMpSlatMotifMap; |
1d9e7bed | 33 | class AliMpSlat; |
34 | class AliMpTrigger; | |
35 | class AliMpPCB; | |
ab167304 | 36 | class AliMpDataStreams; |
657b96e3 | 37 | |
1d9e7bed | 38 | class TList; |
39 | ||
40 | class AliMpTriggerReader : public TObject | |
41 | { | |
42 | public: | |
21027e5a | 43 | AliMpTriggerReader(AliMpSlatMotifMap* motifMap); |
1d9e7bed | 44 | virtual ~AliMpTriggerReader(); |
45 | ||
21027e5a | 46 | AliMpTrigger* ReadSlat(const AliMpDataStreams& dataStreams, |
47 | const char* slatType, AliMp::PlaneType planeType); | |
1d9e7bed | 48 | |
21027e5a | 49 | AliMpPCB* ReadPCB(const AliMpDataStreams& dataStreams, const char* pcbType); |
1d9e7bed | 50 | |
85fec35d | 51 | private: |
1d9e7bed | 52 | |
21027e5a | 53 | AliMpSlat* BuildSlat(const AliMpDataStreams& dataStreams, |
54 | const char* slatName, | |
cddd101e | 55 | AliMp::PlaneType planeType, |
1d9e7bed | 56 | const TList& descriptionLines, |
57 | Double_t scale=1.0); | |
58 | ||
cf25b4e1 | 59 | Int_t DecodeFlipLine(const TString& sline, |
1d9e7bed | 60 | TString& slatType2, |
61 | Bool_t& flipX, Bool_t& flipY); | |
62 | ||
cf25b4e1 | 63 | Int_t DecodeScaleLine(const TString& sline, |
1d9e7bed | 64 | Double_t& scale, TString& slatType); |
65 | ||
21027e5a | 66 | void FlipLines(const AliMpDataStreams& dataStreams, |
67 | TList& lines, Bool_t flipX, Bool_t flipY, | |
1d9e7bed | 68 | Int_t srcLine, Int_t destLine); |
69 | ||
cf25b4e1 | 70 | TString GetBoardNameFromPCBLine(const TString& sline); |
1d9e7bed | 71 | |
cf25b4e1 | 72 | Int_t GetLine(const TString& slatType); |
1d9e7bed | 73 | |
9ee1d6ff | 74 | Int_t IsLayerLine(const TString& sline) const; |
1d9e7bed | 75 | |
21027e5a | 76 | int LocalBoardNumber(const AliMpDataStreams& dataStreams, |
77 | const char* localBoardName); | |
1d9e7bed | 78 | |
71a2d3aa | 79 | // AliMpPCB* PCB(const char* pcbType); |
1d9e7bed | 80 | |
21027e5a | 81 | void ReadLines(const AliMpDataStreams& dataStreams, |
82 | const char* slatType, | |
cddd101e | 83 | AliMp::PlaneType planeType, |
1d9e7bed | 84 | TList& lines, |
85 | Double_t& scale, Bool_t& flipX, Bool_t& flipY, | |
86 | Int_t& srcLine, Int_t& destLine); | |
87 | ||
21027e5a | 88 | void ReadLocalBoardMapping(const AliMpDataStreams& dataStreams); |
1d9e7bed | 89 | |
90 | private: | |
657b96e3 | 91 | /// Not implemented |
92 | AliMpTriggerReader(const AliMpTriggerReader& rhs); | |
93 | /// Not implemented | |
94 | AliMpTriggerReader& operator=(const AliMpTriggerReader& rhs); | |
1d9e7bed | 95 | |
31edb2d7 | 96 | // static methods |
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(); | |
102 | ||
103 | // data members | |
657b96e3 | 104 | AliMpSlatMotifMap* fMotifMap; //!< storage for motifTypes and motifs... |
1d9e7bed | 105 | |
cf25b4e1 | 106 | TMap fLocalBoardMap; //!< map of TObjString to TObjString |
85fec35d | 107 | |
cf25b4e1 | 108 | ClassDef(AliMpTriggerReader,0) // Reader for trigger slats mapping files |
1d9e7bed | 109 | }; |
110 | ||
111 | #endif |