Main Page
Namespaces
Classes
Package Documentation
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Pages
src
TrackingTools
GeomPropagators
src
TrackerBounds.cc
Go to the documentation of this file.
1
#include "
TrackingTools/GeomPropagators/interface/TrackerBounds.h
"
2
3
#include "
DataFormats/GeometrySurface/interface/BoundCylinder.h
"
4
#include "
DataFormats/GeometrySurface/interface/BoundDisk.h
"
5
#include "
DataFormats/GeometrySurface/interface/SimpleCylinderBounds.h
"
6
#include "
DataFormats/GeometrySurface/interface/SimpleDiskBounds.h
"
7
8
//Ported from ORCA
9
10
void
TrackerBounds::initialize
()
11
{
12
const
float
epsilon
= 0.001;
// should not matter at all
13
14
Surface::RotationType
rot
;
// unit rotation matrix
15
auto
cb =
new
SimpleCylinderBounds
(
radius
()-epsilon,
16
radius
()+epsilon,
17
-
halfLength
(),
halfLength
()
18
);
19
20
theCylinder
=
new
Cylinder
(Cylinder::computeRadius(*cb),
Surface::PositionType
(0,0,0), rot, cb);
21
22
23
theNegativeDisk
=
24
new
Disk(
Surface::PositionType
( 0, 0, -
halfLength
()), rot,
25
new
SimpleDiskBounds
( 0,
radius
(), -epsilon, epsilon));
26
27
thePositiveDisk
=
28
new
Disk(
Surface::PositionType
( 0, 0,
halfLength
()), rot,
29
new
SimpleDiskBounds
( 0,
radius
(), -epsilon, epsilon));
30
31
32
theInit
=
true
;
33
}
34
35
bool
TrackerBounds::isInside
(
const
GlobalPoint
&
point
){
36
return
(point.
perp
() <=
radius
() &&
37
fabs(point.
z
()) <=
halfLength
());
38
}
39
40
41
// static initializers
42
43
ReferenceCountingPointer<BoundCylinder>
TrackerBounds::theCylinder
= 0;
44
ReferenceCountingPointer<BoundDisk>
TrackerBounds::theNegativeDisk
= 0;
45
ReferenceCountingPointer<BoundDisk>
TrackerBounds::thePositiveDisk
= 0;
46
47
bool
TrackerBounds::theInit
=
false
;
48
49
TrackerBounds::theNegativeDisk
static ReferenceCountingPointer< Disk > theNegativeDisk
Definition:
TrackerBounds.h:40
TrackerBounds::isInside
static bool isInside(const GlobalPoint &)
Definition:
TrackerBounds.cc:35
PV3DBase::perp
T perp() const
Definition:
PV3DBase.h:72
TrackerBounds::thePositiveDisk
static ReferenceCountingPointer< Disk > thePositiveDisk
Definition:
TrackerBounds.h:41
BoundDisk.h
SimpleDiskBounds.h
TrackerBounds::halfLength
static float halfLength()
Definition:
TrackerBounds.h:34
Cylinder
ReferenceCountingPointer< BoundCylinder >
SimpleCylinderBounds.h
TrackerBounds::initialize
static void initialize()
Definition:
TrackerBounds.cc:10
TkRotation< float >
TrackerBounds::theCylinder
static ReferenceCountingPointer< Cylinder > theCylinder
Definition:
TrackerBounds.h:39
PV3DBase::z
T z() const
Definition:
PV3DBase.h:64
TrackerBounds::theInit
static bool theInit
Definition:
TrackerBounds.h:42
TrackerBounds::radius
static float radius()
Definition:
TrackerBounds.h:33
TrackerBounds.h
Point3DBase< float, GlobalTag >
SimpleCylinderBounds
SimpleDiskBounds
epsilon
const double epsilon
Definition:
CosmicMuonParameters.h:70
BoundCylinder.h
point
*vegas h *****************************************************used in the default bin number in original ***version of VEGAS is ***a higher bin number might help to derive a more precise ***grade subtle point
Definition:
invegas.h:5
makeMuonMisalignmentScenario.rot
list rot
Definition:
makeMuonMisalignmentScenario.py:320
Generated for CMSSW Reference Manual by
1.8.5