Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:26:53

0001 #ifndef MuonME0DetLayerGeometryBuilder_h
0002 #define MuonME0DetLayerGeometryBuilder_h
0003 
0004 /** \class MuonME0DetLayerGeometryBuilder
0005  *
0006  *  Build the ME0 DetLayers.
0007  *
0008  *  \author D. Nash
0009  */
0010 
0011 class DetLayer;
0012 //class MuRingForwardDoubleLayer;
0013 class MuRingForwardLayer;
0014 //class MuRodBarrelLayer;
0015 class MuDetRing;
0016 
0017 #include <Geometry/GEMGeometry/interface/ME0Geometry.h>
0018 #include "RecoMuon/DetLayers/interface/MuDetRod.h"
0019 #include <vector>
0020 
0021 class MuonME0DetLayerGeometryBuilder {
0022 public:
0023   /// Constructor (disabled, only static access is allowed)
0024   MuonME0DetLayerGeometryBuilder() {}
0025 
0026   /// Destructor
0027   virtual ~MuonME0DetLayerGeometryBuilder();
0028 
0029   /// Builds the forward (+Z, return.first) and backward (-Z, return.second) layers.
0030   /// Both vectors are sorted inside-out
0031   static std::pair<std::vector<DetLayer*>, std::vector<DetLayer*> > buildEndcapLayers(const ME0Geometry& geo);
0032 
0033 private:
0034   //static MuRingForwardDoubleLayer* buildLayer(int endcap,int layer,std::vector<int>& chambers,std::vector<int>& rolls,const ME0Geometry& geo);
0035   //static MuRingForwardLayer* buildLayer(int endcap,int layer,std::vector<int>& chambers,std::vector<int>& rolls,const ME0Geometry& geo);
0036   static MuRingForwardLayer* buildLayer(
0037       int endcap, int layer, std::vector<int>& chambers, std::vector<int>& rolls, const ME0Geometry& geo);
0038   static bool isFront(const ME0DetId& me0Id);
0039   static MuDetRing* makeDetRing(std::vector<const GeomDet*>& geomDets);
0040 };
0041 #endif