CMS 3D CMS Logo

GeneralNSurfaceDelimitedBounds.h
Go to the documentation of this file.
1 #ifndef GeneralNSurfaceDelimitedBounds_H
2 #define GeneralNSurfaceDelimitedBounds_H
3 
6 
7 #include <vector>
8 
16 class GeneralNSurfaceDelimitedBounds final : public Bounds {
17 public:
18  typedef std::pair<const Surface*, SurfaceOrientation::Side> SurfaceAndSide;
19  typedef std::vector<SurfaceAndSide> SurfaceContainer;
20 
21  GeneralNSurfaceDelimitedBounds(const Surface* surf, const std::vector<SurfaceAndSide>& limits)
22  : theLimits(limits), theSurface(surf) {}
23 
24  float length() const override { return 0; }
25  float width() const override { return 0; }
26  float thickness() const override { return 0; }
27 
28  using Bounds::inside;
29 
30  bool inside(const Local3DPoint& lp) const override { return myInside(lp, 0); }
31 
32  bool inside(const Local3DPoint&, const LocalError&, float scale = 1.f) const override;
33 
34  Bounds* clone() const override { return new GeneralNSurfaceDelimitedBounds(*this); }
35 
36 private:
39 
40  bool myInside(const Local3DPoint& lp, float tolerance) const;
41 };
42 
43 #endif
f
double f[11][100]
Definition: MuScleFitUtils.cc:78
GeneralNSurfaceDelimitedBounds::SurfaceContainer
std::vector< SurfaceAndSide > SurfaceContainer
Definition: GeneralNSurfaceDelimitedBounds.h:19
GeneralNSurfaceDelimitedBounds::myInside
bool myInside(const Local3DPoint &lp, float tolerance) const
Definition: GeneralNSurfaceDelimitedBounds.cc:13
GeneralNSurfaceDelimitedBounds::length
float length() const override
Definition: GeneralNSurfaceDelimitedBounds.h:24
Bounds
Definition: Bounds.h:18
Surface
Definition: Surface.h:36
GeneralNSurfaceDelimitedBounds::thickness
float thickness() const override
Definition: GeneralNSurfaceDelimitedBounds.h:26
Surface.h
Bounds::inside
virtual bool inside(const Local3DPoint &) const =0
Determine if the point is inside the bounds.
Bounds.h
Point3DBase< float, LocalTag >
Scenarios_cff.scale
scale
Definition: Scenarios_cff.py:2186
GeneralNSurfaceDelimitedBounds
Definition: GeneralNSurfaceDelimitedBounds.h:16
GeneralNSurfaceDelimitedBounds::SurfaceAndSide
std::pair< const Surface *, SurfaceOrientation::Side > SurfaceAndSide
Definition: GeneralNSurfaceDelimitedBounds.h:18
LocalError
Definition: LocalError.h:12
tolerance
const double tolerance
Definition: HGCalGeomParameters.cc:27
TH2PolyOfflineMaps.limits
limits
Definition: TH2PolyOfflineMaps.py:45
GeneralNSurfaceDelimitedBounds::width
float width() const override
Definition: GeneralNSurfaceDelimitedBounds.h:25
GeneralNSurfaceDelimitedBounds::clone
Bounds * clone() const override
Definition: GeneralNSurfaceDelimitedBounds.h:34
GeneralNSurfaceDelimitedBounds::theLimits
SurfaceContainer theLimits
Definition: GeneralNSurfaceDelimitedBounds.h:37
GeneralNSurfaceDelimitedBounds::GeneralNSurfaceDelimitedBounds
GeneralNSurfaceDelimitedBounds(const Surface *surf, const std::vector< SurfaceAndSide > &limits)
Definition: GeneralNSurfaceDelimitedBounds.h:21
GeneralNSurfaceDelimitedBounds::theSurface
const Surface * theSurface
Definition: GeneralNSurfaceDelimitedBounds.h:38
GeneralNSurfaceDelimitedBounds::inside
bool inside(const Local3DPoint &lp) const override
Determine if the point is inside the bounds.
Definition: GeneralNSurfaceDelimitedBounds.h:30