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 
20 #include <vector>
21 #include <algorithm>
22 
23 class ForwardDetLayer : public DetLayer {
24 public:
25 
26  ForwardDetLayer(bool doHaveGroups): DetLayer(doHaveGroups,false) {}
27 
28  ~ForwardDetLayer() override;
29 
30  // GeometricSearchDet interface
31  const BoundSurface& surface() const final { return *theDisk;}
32 
33  std::pair<bool, TrajectoryStateOnSurface>
35  const MeasurementEstimator&) const override;
36 
37  // DetLayer interface
39 
40  // Extension of the interface
41  virtual const BoundDisk& specificSurface() const final { return *theDisk;}
42 
43  bool contains( const Local3DPoint& p) const;
44 
45  protected:
46 
47  virtual void initialize();
48 
49 
50  float rmin() const { return theDisk->innerRadius();}
51  float rmax() const { return theDisk->outerRadius();}
52  float zmin() const { return (theDisk->position().z() - bounds().thickness()*0.5f);}
53  float zmax() const { return (theDisk->position().z() + bounds().thickness()*0.5f);}
54 
55  void setSurface( BoundDisk* cp);
56  virtual BoundDisk* computeSurface();
57 
58  SimpleDiskBounds const & bounds() const { return static_cast<SimpleDiskBounds const &>(theDisk->bounds());}
59 
60  private:
62 
63 
64 };
65 
66 
67 #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