Added comments for inline functions
[u/mrichter/AliRoot.git] / MUON / mapping / AliMpTriggerReader.h
CommitLineData
1d9e7bed 1/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2 * See cxx source for full Copyright notice */
3
4// $Id$
829425a5 5// $MpId: AliMpTriggerReader.h,v 1.4 2006/05/23 13:07:51 ivana Exp $
1d9e7bed 6
9b97f64e 7/// \ingroup trigger
1d9e7bed 8/// \class AliMpTriggerReader
9/// \brief Read trigger slat ASCII files
85fec35d 10/// \author Laurent Aphecetche
1d9e7bed 11
12#ifndef ALI_MP_TRIGGER_READER_H
13#define ALI_MP_TRIGGER_READER_H
14
15#ifndef ROOT_TObject
16# include "TObject.h"
17#endif
18
19#ifndef ROOT_TMap
20# include "TMap.h"
21#endif
22
23#ifndef ROOT_TString
24# include "TString.h"
25#endif
26
27#ifndef ALI_MP_PLANE_TYPE_H
28# include "AliMpPlaneType.h"
29#endif
30
31#ifndef ALI_MP_STATION_TYPE_H
32# include "AliMpStationType.h"
33#endif
34
35class AliMpSlat;
36class AliMpTrigger;
37class AliMpPCB;
38class TList;
39
40class AliMpTriggerReader : public TObject
41{
42 public:
43 AliMpTriggerReader();
44 virtual ~AliMpTriggerReader();
45
46 static AliMpTrigger* ReadSlat(const char* slatType, AliMpPlaneType planeType);
47
48 static AliMpPCB* ReadPCB(const char* pcbType);
49
50 static void Reset();
51
85fec35d 52private:
1d9e7bed 53
54 static AliMpSlat* BuildSlat(const char* slatName,
55 AliMpPlaneType planeType,
56 const TList& descriptionLines,
57 Double_t scale=1.0);
58
59 static Int_t DecodeFlipLine(const TString& sline,
60 TString& slatType2,
61 Bool_t& flipX, Bool_t& flipY);
62
63 static Int_t DecodeScaleLine(const TString& sline,
64 Double_t& scale, TString& slatType);
65
66 static void FlipLines(TList& lines, Bool_t flipX, Bool_t flipY,
67 Int_t srcLine, Int_t destLine);
68
85fec35d 69 static TString GetBoardNameFromPCBLine(const TString& sline);
1d9e7bed 70
71 static Int_t GetLine(const TString& slatType);
72
73 static Int_t IsLayerLine(const TString& sline);
74
75 static int LocalBoardNumber(const char* localBoardName);
76
77 static AliMpPCB* PCB(const char* pcbType);
78
79 static void ReadLines(const char* slatType,
80 AliMpPlaneType planeType,
81 TList& lines,
82 Double_t& scale, Bool_t& flipX, Bool_t& flipY,
83 Int_t& srcLine, Int_t& destLine);
84
85 static void ReadLocalBoardMapping();
86
87private:
88
829425a5 89 static TMap fgPCBMap; //!< map of TObjString to AliMpPCB*
1d9e7bed 90
829425a5 91 static TMap fgLocalBoardMap; //!< map of TObjString to TObjString
85fec35d 92
829425a5 93 static const TString fgkKeywordLayer; //!< Keyword: LAYER
94 static const TString fgkKeywordScale; //!< Keyword: SCALE
95 static const TString fgkKeywordPcb; //!< Keyword : PCB
96 static const TString fgkKeywordFlipX; //!< Keyword : FLIPX
97 static const TString fgkKeywordFlipY; //!< Keyword : FLIPY
1d9e7bed 98
99 ClassDef(AliMpTriggerReader,1) // Reader for trigger slats mapping files
100};
101
102#endif