CMS 3D CMS Logo

BarrelDetLayer.h
Go to the documentation of this file.
1 #ifndef DetLayers_BarrelDetLayer_H
2 #define DetLayers_BarrelDetLayer_H
3 
15 
18 
19 #include <vector>
20 #include <algorithm>
21 
22 class BarrelDetLayer : public DetLayer {
23 public:
24  BarrelDetLayer(bool doHaveGroup) : DetLayer(doHaveGroup, true), theCylinder(nullptr) {}
25 
26  ~BarrelDetLayer() override;
27 
29  const BoundSurface& surface() const final { return *theCylinder; }
30 
31  std::pair<bool, TrajectoryStateOnSurface> compatible(const TrajectoryStateOnSurface& ts,
32  const Propagator&,
33  const MeasurementEstimator&) const final;
34 
37 
39  virtual const BoundCylinder& specificSurface() const final { return *theCylinder; }
40 
41  bool contains(const Local3DPoint& p) const;
42 
43 protected:
44  virtual void initialize();
45 
47  virtual BoundCylinder* computeSurface();
48 
49  SimpleCylinderBounds const& bounds() const { return static_cast<SimpleCylinderBounds const&>(theCylinder->bounds()); }
50 
51 private:
52  //float theRmin, theRmax, theZmin, theZmax;
54 };
55 
56 #endif
virtual BoundCylinder * computeSurface()
SimpleCylinderBounds const & bounds() const
virtual void initialize()
const BoundSurface & surface() const final
GeometricSearchDet interface.
BarrelDetLayer(bool doHaveGroup)
bool contains(const Local3DPoint &p) const
std::pair< bool, TrajectoryStateOnSurface > compatible(const TrajectoryStateOnSurface &ts, const Propagator &, const MeasurementEstimator &) const final
void setSurface(BoundCylinder *cp)
virtual const BoundCylinder & specificSurface() const final
Extension of the interface.
Location location() const final
DetLayer interface.
~BarrelDetLayer() override
ReferenceCountingPointer< BoundCylinder > theCylinder