CMS 3D CMS Logo

SimpleCylinderBounds.h
Go to the documentation of this file.
1 #ifndef Geom_SimpleCylinderBounds_H
2 #define Geom_SimpleCylinderBounds_H
3 
16 #include <cmath>
17 #include <algorithm>
18 
19 class SimpleCylinderBounds final : public Bounds {
20 public:
21  SimpleCylinderBounds(float rmin, float rmax, float zmin, float zmax);
22 
24  float length() const override { return theZmax - theZmin; }
26  float width() const override { return 2 * theRmax; }
28  float thickness() const override { return theRmax - theRmin; }
29 
30  using Bounds::inside;
31  bool inside(const Local3DPoint& p) const override;
32 
33  bool inside(const Local3DPoint& p, const LocalError& err, float scale) const override;
34 
35  virtual bool inside(const Local2DPoint& p, const LocalError& err) const;
36 
37  Bounds* clone() const override;
38 
39 private:
40  float theRmin;
41  float theRmax;
42  float theZmin;
43  float theZmax;
44 };
45 
46 #endif // Geom_SimpleCylinderBounds_H
Point2DBase< float, LocalTag >
SimpleCylinderBounds::thickness
float thickness() const override
Thikness of the "pipe", i.e. difference between outer and inner radius.
Definition: SimpleCylinderBounds.h:28
L1EGammaCrystalsEmulatorProducer_cfi.scale
scale
Definition: L1EGammaCrystalsEmulatorProducer_cfi.py:10
SimpleCylinderBounds::width
float width() const override
Outer diameter of the cylinder.
Definition: SimpleCylinderBounds.h:26
Bounds
Definition: Bounds.h:18
SimpleCylinderBounds::inside
bool inside(const Local3DPoint &p) const override
Determine if the point is inside the bounds.
Definition: SimpleCylinderBounds.cc:12
SimpleCylinderBounds::clone
Bounds * clone() const override
Definition: SimpleCylinderBounds.cc:24
SiStripMonitorCluster_cfi.zmin
zmin
Definition: SiStripMonitorCluster_cfi.py:200
SimpleCylinderBounds
Definition: SimpleCylinderBounds.h:19
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.
Bounds.h
SimpleCylinderBounds::SimpleCylinderBounds
SimpleCylinderBounds(float rmin, float rmax, float zmin, float zmax)
Definition: SimpleCylinderBounds.cc:4
Point3DBase< float, LocalTag >
SimpleCylinderBounds::theZmin
float theZmin
Definition: SimpleCylinderBounds.h:42
SimpleCylinderBounds::theRmin
float theRmin
Definition: SimpleCylinderBounds.h:40
AlCaHLTBitMon_ParallelJobs.p
def p
Definition: AlCaHLTBitMon_ParallelJobs.py:153
LocalError
Definition: LocalError.h:12
SimpleCylinderBounds::theZmax
float theZmax
Definition: SimpleCylinderBounds.h:43
submitPVResolutionJobs.err
err
Definition: submitPVResolutionJobs.py:85
SimpleCylinderBounds::theRmax
float theRmax
Definition: SimpleCylinderBounds.h:41
SimpleCylinderBounds::length
float length() const override
Lenght of the cylinder.
Definition: SimpleCylinderBounds.h:24
LocalPoint.h