CMS 3D CMS Logo

MuonRPCDetLayerGeometryBuilder.h
Go to the documentation of this file.
1 #ifndef MuonRPCDetLayerGeometryBuilder_h
2 #define MuonRPCDetLayerGeometryBuilder_h
3 
11 class DetLayer;
13 class MuRodBarrelLayer;
14 
17 #include <vector>
18 
20 public:
23 
26 
29  static std::pair<std::vector<DetLayer*>, std::vector<DetLayer*> > buildEndcapLayers(const RPCGeometry& geo);
30 
32  static std::vector<DetLayer*> buildBarrelLayers(const RPCGeometry& geo);
33 
34 private:
35  static void makeBarrelLayers(std::vector<const GeomDet*>& geomDets, std::vector<MuRodBarrelLayer*>& result);
36  static void makeBarrelRods(std::vector<const GeomDet*>& geomDets, std::vector<const DetRod*>& result);
37  static bool isFront(const RPCDetId& rpcId);
39  const std::vector<int>& rings,
40  int station,
41  int layer,
42  std::vector<int>& rolls,
43  const RPCGeometry& geo);
44 };
45 #endif
static void makeBarrelRods(std::vector< const GeomDet *> &geomDets, std::vector< const DetRod *> &result)
MuonRPCDetLayerGeometryBuilder()
Constructor (disabled, only static access is allowed)
constexpr std::array< uint8_t, layerIndexSize > layer
static bool isFront(const RPCDetId &rpcId)
static void makeBarrelLayers(std::vector< const GeomDet *> &geomDets, std::vector< MuRodBarrelLayer *> &result)
static std::pair< std::vector< DetLayer * >, std::vector< DetLayer * > > buildEndcapLayers(const RPCGeometry &geo)
static MuRingForwardDoubleLayer * buildLayer(int endcap, const std::vector< int > &rings, int station, int layer, std::vector< int > &rolls, const RPCGeometry &geo)
static std::vector< DetLayer * > buildBarrelLayers(const RPCGeometry &geo)
Builds the barrel layers. Result vector is sorted inside-out.