Main Page
Namespaces
Classes
Package Documentation
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Pages
src
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
ReferenceCountingPointer<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
ReferenceCountingPointer<TangentPlane>
();
13
}
14
15
ReferenceCountingPointer<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
ReferenceCountingPointer<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:25
align::Scalar
double Scalar
Definition:
Definitions.h:27
PV3DBase::y
T y() const
Definition:
PV3DBase.h:63
ReferenceCountingPointer
Definition:
ReferenceCounted.h:73
SurfaceOrientation::negativeSide
Definition:
Surface.h:25
PV3DBase::z
T z() const
Definition:
PV3DBase.h:64
SurfaceOrientation::Side
Side
Definition:
Surface.h:25
TangentPlane.h
AlCaHLTBitMon_ParallelJobs.p
tuple p
Definition:
AlCaHLTBitMon_ParallelJobs.py:152
Point3DBase
Definition:
Point3DBase.h:11
p1
double p1[4]
Definition:
TauolaWrapper.h:89
Geom::pi
double pi()
Definition:
Pi.h:31
SurfaceOrientation::onSurface
Definition:
Surface.h:25
gather_cfg.cout
tuple cout
Definition:
gather_cfg.py:121
PV3DBase::x
T x() const
Definition:
PV3DBase.h:62
Cone.h
Generated for CMSSW Reference Manual by
1.8.5