Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2021-02-14 14:31:31

0001 #ifndef DetLayers_DetLayerGeometry_h
0002 #define DetLayers_DetLayerGeometry_h
0003 
0004 /**
0005  * Base class for "reconstruction" geometries. Given the detId of a module, 
0006  * the class has methods to access the corresponding module's DetLayer.
0007  * This base class returns always a dummy zero pointer to the DetLayers. Its 
0008  * methods are virtual and are supposed to be overridden by Muon, Tracker 
0009  * and Global concrete reconstruction geometries.
0010  *
0011  * \author Boris Mangano (UCSD)  2/6/2009
0012  */
0013 #include "DataFormats/DetId/interface/DetId.h"
0014 #include <vector>
0015 
0016 class DetLayer;
0017 
0018 class DetLayerGeometry {
0019 public:
0020   DetLayerGeometry(){};
0021 
0022   virtual ~DetLayerGeometry() {}
0023 
0024   /*
0025   const std::vector<DetLayer*>& allLayers() const =0;
0026   const std::vector<DetLayer*>& barrelLayers() const =0;
0027   const std::vector<DetLayer*>& negForwardLayers() const =0;
0028   const std::vector<DetLayer*>& posForwardLayers() const =0;
0029   */
0030 
0031   /// Give the DetId of a module, returns the pointer to the corresponding DetLayer
0032   /// This method is dummy and has to be overridden in another derived class
0033   virtual const DetLayer* idToLayer(const DetId& detId) const { return nullptr; }
0034 };
0035 
0036 #endif