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 // 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
int readOutToGeometry(int dduId, int rosId, int robId, int tdcId, int channelId, DTWireId &wireId) const
transform identifiers
std::string robMapVersion
std::string mapNameRG() const
edm::ConstRespectingPtr< DTBufferTree< int, int > > rgBuf
DTReadOutMapping & operator=(DTReadOutMapping const &)=delete
void clear()
clear map
const DTReadOutMapping * fullMap() const
Expand to full map.
std::vector< DTReadOutGeometryLink >::const_iterator const_iterator
Access methods to the connections.
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
std::vector< DTReadOutGeometryLink > readOutChannelDriftTubeMap
edm::ConstRespectingPtr< DTBufferTree< int, int > > grBuf
const std::string & mapRobRos() const
edm::AtomicPtrCache< DTReadOutMappingCache > atomicCache_
const_iterator begin() const
edm::AtomicPtrCache< DTReadOutMappingCache > const & atomicCache() const
const std::string & mapCellTdc() const
access parent maps identifiers
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
#define COND_TRANSIENT
Definition: Serializable.h:63
void cacheMap() const
read and store full content
uint8_t channelId(const VFATFrame &frame)
retrieve this channel identifier
edm::AtomicPtrCache< DTReadOutMappingCache > & atomicCache()
const_iterator end() const
static DTReadOutMapping * expandMap(const DTReadOutMapping &compMap)
#define COND_SERIALIZABLE
Definition: Serializable.h:39
std::string cellMapVersion
type mapType() const
std::string mapNameGR() const