CMS 3D CMS Logo

DTReadOutMapping.h
Go to the documentation of this file.
1 #ifndef DTReadOutMapping_H
2 #define DTReadOutMapping_H
3 
15 //----------------------
16 // Base Class Headers --
17 //----------------------
18 
19 
20 //------------------------------------
21 // Collaborating Class Declarations --
22 //------------------------------------
24 
28 
29 //---------------
30 // C++ Headers --
31 //---------------
32 #include <vector>
33 #include <string>
34 
36 template <class Key, class Content> class DTBufferTree;
37 
38 // ---------------------
39 // -- Class Interface --
40 // ---------------------
41 
43 
44  public:
45 
48 
49  int dduId;
50  int rosId;
51  int robId;
52  int tdcId;
53  int channelId;
54  int wheelId;
55  int stationId;
56  int sectorId;
57  int slId;
58  int layerId;
59  int cellId;
60 
61 
63 };
64 
65 
67 
68  public:
69 
73  DTReadOutMapping( const std::string& cell_map_version,
74  const std::string& rob_map_version );
75 
79 
80  enum type { plain, compact };
81 
84  int readOutToGeometry( int dduId,
86  int rosId,
87  int robId,
88  int tdcId,
89  int channelId,
90  DTWireId& wireId ) const;
91 
92  int readOutToGeometry( int dduId,
93  int rosId,
94  int robId,
95  int tdcId,
96  int channelId,
97  int& wheelId,
98  int& stationId,
99  int& sectorId,
100  int& slId,
101  int& layerId,
102  int& cellId ) const;
103 
104  int geometryToReadOut( int wheelId,
105  int stationId,
106  int sectorId,
107  int slId,
108  int layerId,
109  int cellId,
110  int& dduId,
111  int& rosId,
112  int& robId,
113  int& tdcId,
114  int& channelId ) const;
115  int geometryToReadOut( const DTWireId& wireId,
116  int& dduId,
117  int& rosId,
118  int& robId,
119  int& tdcId,
120  int& channelId ) const;
121 
122  type mapType() const;
123 
125  const
126  std::string& mapCellTdc() const;
127  std::string& mapCellTdc();
128  const
129  std::string& mapRobRos() const;
130  std::string& mapRobRos();
131 
133  void clear();
134 
136  int insertReadOutGeometryLink( int dduId,
137  int rosId,
138  int robId,
139  int tdcId,
140  int channelId,
141  int wheelId,
142  int stationId,
143  int sectorId,
144  int slId,
145  int layerId,
146  int cellId );
147 
149  typedef std::vector<DTReadOutGeometryLink>::const_iterator const_iterator;
150  const_iterator begin() const;
151  const_iterator end() const;
152 
154  const DTReadOutMapping* fullMap() const;
155 
156  private:
157 
159  DTReadOutMapping& operator=(DTReadOutMapping const&);
160 
161  edm::AtomicPtrCache<DTReadOutMappingCache> const& atomicCache() const { return atomicCache_; }
163 
164  static DTReadOutMapping* expandMap( const DTReadOutMapping& compMap );
165 
168 
169  std::vector<DTReadOutGeometryLink> readOutChannelDriftTubeMap;
170 
174 
176  void cacheMap() const;
177 
178  std::string mapNameRG() const;
179  std::string mapNameGR() const;
180 
181 
183 };
184 #endif // DTReadOutMapping_H
std::string robMapVersion
std::vector< DTReadOutGeometryLink >::const_iterator const_iterator
Access methods to the connections.
std::vector< DTReadOutGeometryLink > readOutChannelDriftTubeMap
void clear(CLHEP::HepGenMatrix &m)
Helper function: Reset all elements of a matrix to 0.
Definition: matutil.cc:167
#define end
Definition: vmac.h:37
#define COND_TRANSIENT
Definition: Serializable.h:61
edm::AtomicPtrCache< DTReadOutMappingCache > & atomicCache()
#define COND_SERIALIZABLE
Definition: Serializable.h:38
#define begin
Definition: vmac.h:30
std::string cellMapVersion
edm::AtomicPtrCache< DTReadOutMappingCache > const & atomicCache() const