CMS 3D CMS Logo

SimpleDiskBounds.h
Go to the documentation of this file.
1 #ifndef Geom_SimpleDiskBounds_H
2 #define Geom_SimpleDiskBounds_H
3 
6 
11 class SimpleDiskBounds final : public Bounds {
12 public:
14  SimpleDiskBounds(float rmin, float rmax, float zmin, float zmax);
15 
16  float length() const override { return theZmax - theZmin; }
17  float width() const override { return 2 * theRmax; }
18  float thickness() const override { return theZmax - theZmin; }
19 
20  bool inside(const Local3DPoint& p) const override {
21  return ((p.z() > theZmin) & (p.z() < theZmax)) &&
22  ((p.perp2() > theRmin * theRmin) & (p.perp2() < theRmax * theRmax));
23  }
24 
25  using Bounds::inside;
26 
27  bool inside(const Local3DPoint& p, const LocalError& err, float scale) const override;
28 
29  virtual bool inside(const Local2DPoint& p, const LocalError& err) const;
30 
31  Bounds* clone() const override;
32 
34  float innerRadius() const { return theRmin; }
35  float outerRadius() const { return theRmax; }
36 
37  float minZ() const { return theZmin; }
38  float maxZ() const { return theZmax; }
39 
40 private:
41  float theRmin;
42  float theRmax;
43  float theZmin;
44  float theZmax;
45 };
46 
47 #endif // Geom_SimpleDiskBounds_H
Point2DBase< float, LocalTag >
SimpleDiskBounds::outerRadius
float outerRadius() const
Definition: SimpleDiskBounds.h:35
L1EGammaCrystalsEmulatorProducer_cfi.scale
scale
Definition: L1EGammaCrystalsEmulatorProducer_cfi.py:10
SimpleDiskBounds::minZ
float minZ() const
Definition: SimpleDiskBounds.h:37
Bounds
Definition: Bounds.h:18
SiStripMonitorCluster_cfi.zmin
zmin
Definition: SiStripMonitorCluster_cfi.py:200
SimpleDiskBounds::innerRadius
float innerRadius() const
Extension of the Bounds interface.
Definition: SimpleDiskBounds.h:34
SimpleDiskBounds::maxZ
float maxZ() const
Definition: SimpleDiskBounds.h:38
SimpleDiskBounds::clone
Bounds * clone() const override
Definition: SimpleDiskBounds.cc:18
SimpleDiskBounds
Definition: SimpleDiskBounds.h:11
SiStripMonitorCluster_cfi.zmax
zmax
Definition: SiStripMonitorCluster_cfi.py:201
Bounds::inside
virtual bool inside(const Local3DPoint &) const =0
Determine if the point is inside the bounds.
SimpleDiskBounds::theZmax
float theZmax
Definition: SimpleDiskBounds.h:44
Bounds.h
Point3DBase< float, LocalTag >
AlCaHLTBitMon_ParallelJobs.p
def p
Definition: AlCaHLTBitMon_ParallelJobs.py:153
SimpleDiskBounds::SimpleDiskBounds
SimpleDiskBounds(float rmin, float rmax, float zmin, float zmax)
Construct the bounds from min and max R and Z in LOCAL coordinates.
Definition: SimpleDiskBounds.cc:8
LocalError
Definition: LocalError.h:12
SimpleDiskBounds::theZmin
float theZmin
Definition: SimpleDiskBounds.h:43
SimpleDiskBounds::thickness
float thickness() const override
Definition: SimpleDiskBounds.h:18
SimpleDiskBounds::theRmin
float theRmin
Definition: SimpleDiskBounds.h:41
SimpleDiskBounds::theRmax
float theRmax
Definition: SimpleDiskBounds.h:42
submitPVResolutionJobs.err
err
Definition: submitPVResolutionJobs.py:85
LocalPoint.h
SimpleDiskBounds::inside
bool inside(const Local3DPoint &p) const override
Determine if the point is inside the bounds.
Definition: SimpleDiskBounds.h:20
SimpleDiskBounds::width
float width() const override
Definition: SimpleDiskBounds.h:17
SimpleDiskBounds::length
float length() const override
Definition: SimpleDiskBounds.h:16