CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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 // Collaborating Class Declarations --
21 //------------------------------------
23 
27 
28 //---------------
29 // C++ Headers --
30 //---------------
31 #include <vector>
32 #include <string>
33 
35 template <class Key, class Content>
36 class DTBufferTree;
37 
38 // ---------------------
39 // -- Class Interface --
40 // ---------------------
41 
43 public:
46 
47  int dduId;
48  int rosId;
49  int robId;
50  int tdcId;
51  int channelId;
52  int wheelId;
53  int stationId;
54  int sectorId;
55  int slId;
56  int layerId;
57  int cellId;
58 
60 };
61 
63 public:
67  DTReadOutMapping(DTReadOutMapping const&) = delete;
69  DTReadOutMapping(const std::string& cell_map_version, const std::string& rob_map_version);
70 
74 
75  enum type { plain, compact };
76 
79  int readOutToGeometry(int dduId, int rosId, int robId, int tdcId, int channelId, DTWireId& wireId) const;
81 
82  int readOutToGeometry(int dduId,
83  int rosId,
84  int robId,
85  int tdcId,
86  int channelId,
87  int& wheelId,
88  int& stationId,
89  int& sectorId,
90  int& slId,
91  int& layerId,
92  int& cellId) const;
93 
94  int geometryToReadOut(int wheelId,
95  int stationId,
96  int sectorId,
97  int slId,
98  int layerId,
99  int cellId,
100  int& dduId,
101  int& rosId,
102  int& robId,
103  int& tdcId,
104  int& channelId) const;
105  int geometryToReadOut(const DTWireId& wireId, int& dduId, int& rosId, int& robId, int& tdcId, int& channelId) const;
106 
107  type mapType() const;
108 
110  const std::string& mapCellTdc() const;
112  const std::string& mapRobRos() const;
114 
116  void clear();
117 
119  int insertReadOutGeometryLink(int dduId,
120  int rosId,
121  int robId,
122  int tdcId,
123  int channelId,
124  int wheelId,
125  int stationId,
126  int sectorId,
127  int slId,
128  int layerId,
129  int cellId);
130 
132  typedef std::vector<DTReadOutGeometryLink>::const_iterator const_iterator;
133  const_iterator begin() const;
134  const_iterator end() const;
135 
137  const DTReadOutMapping* fullMap() const;
138 
139 private:
142 
143  static DTReadOutMapping* expandMap(const DTReadOutMapping& compMap);
144 
147 
148  std::vector<DTReadOutGeometryLink> readOutChannelDriftTubeMap;
149 
153 
155  void cacheMap() const;
156 
157  std::string mapNameRG() const;
158  std::string mapNameGR() const;
159 
161 };
162 #endif // DTReadOutMapping_H
std::string robMapVersion
const_iterator end() const
edm::ConstRespectingPtr< DTBufferTree< int, int > > rgBuf
int readOutToGeometry(int dduId, int rosId, int robId, int tdcId, int channelId, DTWireId &wireId) const
transform identifiers
DTReadOutMapping & operator=(DTReadOutMapping const &)=delete
std::string mapNameRG() const
void clear()
clear map
std::vector< DTReadOutGeometryLink >::const_iterator const_iterator
Access methods to the connections.
std::vector< DTReadOutGeometryLink > readOutChannelDriftTubeMap
edm::ConstRespectingPtr< DTBufferTree< int, int > > grBuf
edm::AtomicPtrCache< DTReadOutMappingCache > atomicCache_
const std::string & mapCellTdc() const
access parent maps identifiers
const_iterator begin() const
int insertReadOutGeometryLink(int dduId, int rosId, int robId, int tdcId, int channelId, int wheelId, int stationId, int sectorId, int slId, int layerId, int cellId)
insert connection
int geometryToReadOut(int wheelId, int stationId, int sectorId, int slId, int layerId, int cellId, int &dduId, int &rosId, int &robId, int &tdcId, int &channelId) const
#define COND_TRANSIENT
Definition: Serializable.h:63
edm::AtomicPtrCache< DTReadOutMappingCache > & atomicCache()
const std::string & mapRobRos() const
static DTReadOutMapping * expandMap(const DTReadOutMapping &compMap)
#define COND_SERIALIZABLE
Definition: Serializable.h:39
void cacheMap() const
read and store full content
std::string cellMapVersion
type mapType() const
std::string mapNameGR() const
edm::AtomicPtrCache< DTReadOutMappingCache > const & atomicCache() const
const DTReadOutMapping * fullMap() const
Expand to full map.