CMS 3D CMS Logo

ForwardDetLayer.h
Go to the documentation of this file.
1 #ifndef DetLayers_ForwardDetLayer_H
2 #define DetLayers_ForwardDetLayer_H
3 
18 
19 #include <vector>
20 #include <algorithm>
21 
22 class ForwardDetLayer : public DetLayer {
23 public:
24  ForwardDetLayer(bool doHaveGroups) : DetLayer(doHaveGroups, false) {}
25 
26  ~ForwardDetLayer() override;
27 
28  // GeometricSearchDet interface
29  const BoundSurface& surface() const final { return *theDisk; }
30 
31  std::pair<bool, TrajectoryStateOnSurface> compatible(const TrajectoryStateOnSurface&,
32  const Propagator&,
33  const MeasurementEstimator&) const override;
34 
35  // DetLayer interface
37 
38  // Extension of the interface
39  virtual const BoundDisk& specificSurface() const final { return *theDisk; }
40 
41  bool contains(const Local3DPoint& p) const;
42 
43 protected:
44  virtual void initialize();
45 
46  float rmin() const { return theDisk->innerRadius(); }
47  float rmax() const { return theDisk->outerRadius(); }
48  float zmin() const { return (theDisk->position().z() - bounds().thickness() * 0.5f); }
49  float zmax() const { return (theDisk->position().z() + bounds().thickness() * 0.5f); }
50 
51  void setSurface(BoundDisk* cp);
52  virtual BoundDisk* computeSurface();
53 
54  SimpleDiskBounds const& bounds() const { return static_cast<SimpleDiskBounds const&>(theDisk->bounds()); }
55 
56 private:
58 };
59 
60 #endif
~ForwardDetLayer() override
virtual BoundDisk * computeSurface()
SimpleDiskBounds const & bounds() const
void setSurface(BoundDisk *cp)
ForwardDetLayer(bool doHaveGroups)
float rmin() const
float zmin() const
float thickness() const override
virtual void initialize()
bool contains(const Local3DPoint &p) const
Location location() const final
Which part of the detector (barrel, endcap)
ReferenceCountingPointer< BoundDisk > theDisk
float zmax() const
virtual const BoundDisk & specificSurface() const final
const BoundSurface & surface() const final
The surface of the GeometricSearchDet.
float rmax() const
std::pair< bool, TrajectoryStateOnSurface > compatible(const TrajectoryStateOnSurface &, const Propagator &, const MeasurementEstimator &) const override