CMS 3D CMS Logo

RPCGeometryBuilderFromDDD.h
Go to the documentation of this file.
1 #ifndef RPCGeometry_RPCGeometryBuilderFromDDD_H
2 #define RPCGeometry_RPCGeometryBuilderFromDDD_H
3 
4 /*
5 //\class RPCGeometryBuilder
6 
7  Description: RPC Geometry builder from DD & DD4hep
8  DD4hep part added to the original old file (DD version) made by M. Maggi (INFN Bari)
9 //
10 // Author: Sergio Lo Meo (sergio.lo.meo@cern.ch) following what Ianna Osburne made for DTs (DD4HEP migration)
11 // Created: Fri, 20 Sep 2019
12 */
13 
16 #include <string>
17 #include <map>
18 #include <list>
19 #include <memory>
20 
21 class DDCompactView;
22 class DDFilteredView;
23 namespace cms {
24  class DDFilteredView;
25  class DDCompactView;
26  class MuonNumbering;
27  struct DDSpecPar;
28  struct DDSpecParRegistry;
29 } // namespace cms
30 class RPCGeometry;
31 class RPCDetId;
32 class RPCRoll;
33 class MuonDDDConstants;
34 
36 public:
37  RPCGeometryBuilderFromDDD(bool comp11);
38 
40 
41  // for DDD
42  RPCGeometry* build(const DDCompactView* cview, const MuonDDDConstants& muonConstants);
43  // for DD4hep
44  RPCGeometry* build(const cms::DDCompactView* cview, const cms::MuonNumbering& muonConstants);
45 
46 private:
47  // for DDD
48  RPCGeometry* buildGeometry(DDFilteredView& fview, const MuonDDDConstants& muonConstants);
49  // for DD4hep
50  RPCGeometry* buildGeometry(cms::DDFilteredView& fview, const cms::MuonNumbering& muonConstants);
51 
52  std::map<RPCDetId, std::list<RPCRoll*> > chids;
53 
54  std::unique_ptr<cms::RPCNumberingScheme> rpcnum_ = nullptr;
56 };
57 
58 #endif
Compact representation of the geometrical detector hierarchy.
Definition: DDCompactView.h:80
Namespace of DDCMS conversion namespace.
std::map< RPCDetId, std::list< RPCRoll * > > chids