test
Main Page
Namespaces
Classes
Package Documentation
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Pages
DataFormats
GeometrySurface
src
Cone.cc
Go to the documentation of this file.
1
2
3
#include "
DataFormats/GeometrySurface/interface/Cone.h
"
4
#include "
DataFormats/GeometrySurface/interface/TangentPlane.h
"
5
6
#include <iostream>
7
8
ConstReferenceCountingPointer<TangentPlane>
Cone::tangentPlane
(
const
GlobalPoint
&)
const
{
9
// FIXME: to be implemented...
10
std::cout
<<
"*** WARNING: Cone::tangentPlane not implemented."
<<std::endl;
11
abort();
12
return
ConstReferenceCountingPointer<TangentPlane>
();
13
}
14
15
ConstReferenceCountingPointer<TangentPlane>
Cone::tangentPlane
(
const
LocalPoint
&)
const
{
16
// FIXME: to be implemented...
17
std::cout
<<
"*** WARNING: Cone::tangentPlane not implemented."
<<std::endl;
18
abort();
19
return
ConstReferenceCountingPointer<TangentPlane>
();
20
}
21
22
Surface::Side
Cone::side
(
const
GlobalPoint
&
p
,
Scalar
tolerance)
const
{
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)
return
SurfaceOrientation::onSurface
;
31
double
delta
= double(
p1
.theta())-
double
(
openingAngle
());
32
if
(fabs(delta) < tolerance/
p1
.mag())
return
SurfaceOrientation::onSurface
;
33
34
if
(
p1
.theta() <
Geom::pi
()/2.) {
35
return
(delta>0. ?
SurfaceOrientation::positiveSide
:
SurfaceOrientation::negativeSide
);
36
}
else
{
37
return
(delta>0. ?
SurfaceOrientation::negativeSide
:
SurfaceOrientation::positiveSide
);
38
}
39
}
delta
dbl * delta
Definition:
mlp_gen.cc:36
SurfaceOrientation::positiveSide
Definition:
Surface.h:23
ConstReferenceCountingPointer
Definition:
ReferenceCounted.h:71
align::Scalar
double Scalar
Definition:
Definitions.h:27
PV3DBase::y
T y() const
Definition:
PV3DBase.h:63
Cone::vertex
GlobalPoint vertex() const
Global position of the cone vertex.
Definition:
Cone.h:55
SurfaceOrientation::negativeSide
Definition:
Surface.h:23
PV3DBase::z
T z() const
Definition:
PV3DBase.h:64
SurfaceOrientation::Side
Side
Definition:
Surface.h:23
TangentPlane.h
Cone::tangentPlane
virtual ConstReferenceCountingPointer< TangentPlane > tangentPlane(const GlobalPoint &) const
Definition:
Cone.cc:8
Cone::side
virtual Side side(const LocalPoint &p, Scalar tolerance) const
Definition:
Cone.h:63
AlCaHLTBitMon_ParallelJobs.p
tuple p
Definition:
AlCaHLTBitMon_ParallelJobs.py:152
Point3DBase< float, GlobalTag >
p1
double p1[4]
Definition:
TauolaWrapper.h:89
SurfaceOrientation::onSurface
Definition:
Surface.h:23
gather_cfg.cout
tuple cout
Definition:
gather_cfg.py:145
Geom::pi
constexpr double pi()
Definition:
Pi.h:31
PV3DBase::x
T x() const
Definition:
PV3DBase.h:62
Cone.h
Cone::openingAngle
Geom::Theta< float > openingAngle() const
Angle of the cone.
Definition:
Cone.h:58
Generated for CMSSW Reference Manual by
1.8.5