AliRoot Core  d69033e (d69033e)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AliMpTriggerReader.h
Go to the documentation of this file.
1 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2  * See cxx source for full Copyright notice */
3 
4 // $Id$
5 // $MpId: AliMpTriggerReader.h,v 1.5 2006/05/24 13:58:27 ivana Exp $
6 
11 // Author: Laurent Aphecetche
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 
32 class AliMpSlatMotifMap;
33 class AliMpSlat;
34 class AliMpTrigger;
35 class AliMpPCB;
36 class AliMpDataStreams;
37 
38 class TList;
39 
40 class AliMpTriggerReader : public TObject
41 {
42  public:
44  virtual ~AliMpTriggerReader();
45 
46  AliMpTrigger* ReadSlat(const AliMpDataStreams& dataStreams,
47  const char* slatType, AliMp::PlaneType planeType);
48 
49  AliMpPCB* ReadPCB(const AliMpDataStreams& dataStreams, const char* pcbType);
50 
51 private:
52 
53  AliMpSlat* BuildSlat(const AliMpDataStreams& dataStreams,
54  const char* slatName,
55  AliMp::PlaneType planeType,
56  const TList& descriptionLines,
57  Double_t scale=1.0);
58 
59  Int_t DecodeFlipLine(const TString& sline,
60  TString& slatType2,
61  Bool_t& flipX, Bool_t& flipY);
62 
63  Int_t DecodeScaleLine(const TString& sline,
64  Double_t& scale, TString& slatType);
65 
66  void FlipLines(const AliMpDataStreams& dataStreams,
67  TList& lines, Bool_t flipX, Bool_t flipY,
68  Int_t srcLine, Int_t destLine);
69 
70  TString GetBoardNameFromPCBLine(const TString& sline);
71 
72  Int_t GetLine(const TString& slatType);
73 
74  Int_t IsLayerLine(const TString& sline) const;
75 
76  int LocalBoardNumber(const AliMpDataStreams& dataStreams,
77  const char* localBoardName);
78 
79  // AliMpPCB* PCB(const char* pcbType);
80 
81  void ReadLines(const AliMpDataStreams& dataStreams,
82  const char* slatType,
83  AliMp::PlaneType planeType,
84  TList& lines,
85  Double_t& scale, Bool_t& flipX, Bool_t& flipY,
86  Int_t& srcLine, Int_t& destLine);
87 
88  void ReadLocalBoardMapping(const AliMpDataStreams& dataStreams);
89 
90 private:
95 
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
105 
107 
108  ClassDef(AliMpTriggerReader,0) // Reader for trigger slats mapping files
109 };
110 
111 #endif
AliMpPCB * ReadPCB(const AliMpDataStreams &dataStreams, const char *pcbType)
Read trigger slat ASCII files.
static const TString & GetKeywordFlipX()
AliMpTriggerReader(AliMpSlatMotifMap *motifMap)
A PCB for station 3,4 or 5.
Definition: AliMpPCB.h:46
AliMpSlatMotifMap * fMotifMap
! storage for motifTypes and motifs...
AliMpSlat * BuildSlat(const AliMpDataStreams &dataStreams, const char *slatName, AliMp::PlaneType planeType, const TList &descriptionLines, Double_t scale=1.0)
Float_t scale[5]
A slat (building block of stations 3, 4 and 5)
Definition: AliMpSlat.h:51
static const TString & GetKeywordFlipY()
static const TString & GetKeywordScale()
Int_t DecodeFlipLine(const TString &sline, TString &slatType2, Bool_t &flipX, Bool_t &flipY)
A container to keep track of allocated motifs and motifTypes for slats (both St345 and trigger ones)...
void ReadLocalBoardMapping(const AliMpDataStreams &dataStreams)
A trigger slat.
Definition: AliMpTrigger.h:37
static const TString & GetKeywordLayer()
Int_t DecodeScaleLine(const TString &sline, Double_t &scale, TString &slatType)
void FlipLines(const AliMpDataStreams &dataStreams, TList &lines, Bool_t flipX, Bool_t flipY, Int_t srcLine, Int_t destLine)
TMap fLocalBoardMap
! map of TObjString to TObjString
Int_t IsLayerLine(const TString &sline) const
AliMpTriggerReader & operator=(const AliMpTriggerReader &rhs)
Not implemented.
void ReadLines(const AliMpDataStreams &dataStreams, const char *slatType, AliMp::PlaneType planeType, TList &lines, Double_t &scale, Bool_t &flipX, Bool_t &flipY, Int_t &srcLine, Int_t &destLine)
TString GetBoardNameFromPCBLine(const TString &sline)
AliMpTrigger * ReadSlat(const AliMpDataStreams &dataStreams, const char *slatType, AliMp::PlaneType planeType)
static const TString & GetKeywordPcb()
int LocalBoardNumber(const AliMpDataStreams &dataStreams, const char *localBoardName)
Int_t GetLine(const TString &slatType)
Mapping data streams provider.