File indexing completed on 2024-04-06 12:31:26
0001 #ifndef DetLayers_DetLayer_h
0002 #define DetLayers_DetLayer_h
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014 #include "TrackingTools/DetLayers/interface/GeometricSearchDet.h"
0015
0016 #include "TrackingTools/DetLayers/interface/NavigableLayer.h"
0017 #include "TrackingTools/DetLayers/interface/NavigationDirection.h"
0018
0019 #include <vector>
0020
0021 class DetLayer : public GeometricSearchDet {
0022 public:
0023 typedef GeomDetEnumerators::SubDetector SubDetector;
0024 typedef GeomDetEnumerators::Location Location;
0025
0026 DetLayer(bool doHaveGroup, bool ibar) : GeometricSearchDet(doHaveGroup), theSeqNum(-1), iAmBarrel(ibar) {}
0027
0028 ~DetLayer() override;
0029
0030
0031 bool isBarrel() const { return iAmBarrel; }
0032 bool isForward() const { return !isBarrel(); }
0033
0034
0035 int seqNum() const { return theSeqNum; }
0036 void setSeqNum(int sq) { theSeqNum = sq; }
0037
0038
0039
0040
0041 virtual SubDetector subDetector() const = 0;
0042
0043
0044 virtual Location location() const = 0;
0045
0046 private:
0047 int theSeqNum;
0048 bool iAmBarrel;
0049 };
0050
0051 #endif