]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/mapping/AliMpSectorTypes.h
New numbering of motif positions.
[u/mrichter/AliRoot.git] / MUON / mapping / AliMpSectorTypes.h
1 // $Id$
2 // Category: sector
3 //
4 // AliMpSectorTypes
5 // ----------------
6 // Sytem dependent types definitions for sector category.
7 //
8 // Authors: David Guez, Ivana Hrivnacova; IPN Orsay
9
10 #ifndef ALI_MP_SECTOR_TYPES_H
11 #define ALI_MP_SECTOR_TYPES_H
12
13 #include "AliMpContainers.h"
14
15 #ifdef WITH_STL
16   #include <vector>
17   #include <map>
18   #include <set>
19 #endif
20
21 #ifdef WITH_ROOT
22   #include <TArrayI.h>
23   #include <TObjArray.h>
24   #include <TList.h>
25   #include <TExMap.h>
26 #endif
27
28 #include <string>
29
30 #include <TVector2.h>
31
32 #include "AliMpPad.h"
33
34 class AliMpVPadRowSegment;
35 class AliMpPadRow;
36 class AliMpVMotif;
37 class AliMpVRowSegment;
38 class AliMpSubZone;
39 class AliMpZone;
40 class AliMpRow;
41
42 #ifdef WITH_STL
43 #ifdef __HP_aCC
44   typedef vector<Int_t> MotifPositionIdVector;
45   typedef vector<AliMpPad> PadVector;
46   typedef vector<AliMpPadRow*>  PadRowVector;
47   typedef vector<AliMpVMotif*>  MotifVector;
48   typedef vector<AliMpVRowSegment*>  RowSegmentVector;
49   typedef vector<AliMpVPadRowSegment*>  PadRowSegmentVector;
50   typedef vector<AliMpSubZone*> SubZoneVector;
51   typedef vector<AliMpRow*> RowVector;
52   typedef vector<AliMpZone*> ZoneVector;
53   typedef map<Int_t, TVector2>  PadDimensionsMap;
54   typedef PadDimensionsMap::const_iterator  PadDimensionsMapCIterator;
55   typedef map<string,pair<Int_t,Int_t> > PadMapType;
56   typedef PadMapType::iterator PadMapTypeIterator;
57   typedef set<AliMpPad> PadSet;
58   typedef PadSet::const_iterator PadSetIterator;
59 #else
60   typedef std::vector<Int_t> MotifPositionIdVector;
61   typedef std::vector<AliMpPad> PadVector;
62   typedef std::vector<AliMpPadRow*>  PadRowVector;
63   typedef std::vector<AliMpVMotif*>  MotifVector;
64   typedef std::vector<AliMpVRowSegment*>  RowSegmentVector;
65   typedef std::vector<AliMpVPadRowSegment*>  PadRowSegmentVector;
66   typedef std::vector<AliMpSubZone*>  SubZoneVector;
67   typedef std::vector<AliMpRow*> RowVector;
68   typedef std::vector<AliMpZone*> ZoneVector;
69   typedef std::map<Int_t, TVector2>  PadDimensionsMap;
70   typedef PadDimensionsMap::const_iterator  PadDimensionsMapCIterator;
71   typedef std::map<std::string, std::pair<Int_t,Int_t> > PadMapType;
72   typedef PadMapType::iterator PadMapTypeIterator;
73   typedef std::set<AliMpPad> PadSet;
74   typedef PadSet::const_iterator PadSetIterator;
75 #endif
76 #endif
77
78 #ifdef WITH_ROOT
79 #ifndef __HP_aCC
80   using std::string;
81 #endif
82   typedef TArrayI    MotifPositionIdVector;
83   typedef TObjArray  PadVector;
84   typedef TObjArray  PadRowVector;
85   typedef TObjArray  MotifVector;
86   typedef TList      RowSegmentVector;
87   typedef TObjArray  PadRowSegmentVector;
88   typedef TObjArray  SubZoneVector;
89   typedef TObjArray  RowVector;
90   typedef TObjArray  ZoneVector;
91   typedef TExMap     PadDimensionsMap;
92   typedef TExMapIter PadDimensionsMapCIterator;
93   typedef TExMap     PadMapType;
94   typedef TExMapIter PadMapTypeIterator;
95   typedef TObjArray  PadSet;
96 #endif
97
98 #endif //ALI_MP_SECTOR_TYPES_H