CMS 3D CMS Logo

SimpleCylinderBounds.cc
Go to the documentation of this file.
3 
4 SimpleCylinderBounds::SimpleCylinderBounds(float rmin, float rmax, float zmin, float zmax)
5  : theRmin(rmin), theRmax(rmax), theZmin(zmin), theZmax(zmax) {
6  if (theRmin > theRmax)
8  if (theZmin > theZmax)
10 }
11 
13  return p.z() > theZmin && p.z() < theZmax && p.perp() > theRmin && p.perp() < theRmax;
14 }
15 
16 bool SimpleCylinderBounds::inside(const Local3DPoint& p, const LocalError& err, float scale) const {
17  SimpleCylinderBounds tmp(theRmin, theRmax, theZmin - sqrt(err.yy()) * scale, theZmax + sqrt(err.yy()) * scale);
18 
19  return tmp.inside(p);
20 }
21 
22 bool SimpleCylinderBounds::inside(const Local2DPoint& p, const LocalError& err) const { return Bounds::inside(p, err); }
23 
T perp() const
Definition: PV3DBase.h:69
virtual bool inside(const Local3DPoint &) const =0
Determine if the point is inside the bounds.
Bounds * clone() const override
float yy() const
Definition: LocalError.h:24
SimpleCylinderBounds(float rmin, float rmax, float zmin, float zmax)
void swap(edm::DataFrameContainer &lhs, edm::DataFrameContainer &rhs)
T sqrt(T t)
Definition: SSEVec.h:19
T z() const
Definition: PV3DBase.h:61
bool inside(const Local3DPoint &p) const override
Determine if the point is inside the bounds.
Definition: Bounds.h:20
tmp
align.sh
Definition: createJobs.py:716