CMS 3D CMS Logo

Cone.cc
Go to the documentation of this file.
1 
2 
5 
6 #include <iostream>
7 
9  // FIXME: to be implemented...
10  std::cout << "*** WARNING: Cone::tangentPlane not implemented." << std::endl;
11  abort();
13 }
14 
16  // FIXME: to be implemented...
17  std::cout << "*** WARNING: Cone::tangentPlane not implemented." << std::endl;
18  abort();
20 }
21 
23  // FIXME: should be done in local coordinates as this is not correct in the case the verstex is not on the (global) Z axis!!!!
24 
25  // tolerance is interpreted as max distance from cone surface.
26  // FIXME: check case when vertex().z()==inf.
27  GlobalPoint p1(p.x(), p.y(), p.z() - vertex().z());
28 
29  // handle the singularity of p=vertex (i.e. p1.mag() undefined)
30  if (p1.mag() < tolerance)
32  double delta = double(p1.theta()) - double(openingAngle());
33  if (fabs(delta) < tolerance / p1.mag())
35 
36  if (p1.theta() < Geom::pi() / 2.) {
38  } else {
40  }
41 }
Cone::openingAngle
Geom::Theta< float > openingAngle() const
Angle of the cone.
Definition: Cone.h:50
SurfaceOrientation::onSurface
Definition: Surface.h:18
AlCaHLTBitMon_ParallelJobs.p
p
Definition: AlCaHLTBitMon_ParallelJobs.py:153
gather_cfg.cout
cout
Definition: gather_cfg.py:144
ConstReferenceCountingPointer
Definition: ReferenceCounted.h:67
Cone::vertex
GlobalPoint vertex() const
Global position of the cone vertex.
Definition: Cone.h:47
align::Scalar
double Scalar
Definition: Definitions.h:25
PV3DBase::z
T z() const
Definition: PV3DBase.h:61
Cone::tangentPlane
ConstReferenceCountingPointer< TangentPlane > tangentPlane(const GlobalPoint &) const override
Definition: Cone.cc:8
Geom::pi
constexpr double pi()
Definition: Pi.h:31
Point3DBase< float, GlobalTag >
Cone.h
dumpMFGeometry_cfg.delta
delta
Definition: dumpMFGeometry_cfg.py:25
tolerance
const double tolerance
Definition: HGCalGeomParameters.cc:29
Cone::side
Side side(const LocalPoint &p, Scalar tolerance) const override
Definition: Cone.h:54
p1
double p1[4]
Definition: TauolaWrapper.h:89
SurfaceOrientation::negativeSide
Definition: Surface.h:18
SurfaceOrientation::Side
Side
Definition: Surface.h:18
TangentPlane.h
SurfaceOrientation::positiveSide
Definition: Surface.h:18