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
static
const
float
epsilon
= 0.001;
// should not matter at all
11
12
static
Cylinder
*
initCylinder
() {
13
Surface::RotationType
rot
;
// unit rotation matrix
14
auto
cb =
new
SimpleCylinderBounds
(
TrackerBounds::radius
() -
epsilon
,
15
TrackerBounds::radius
() +
epsilon
,
16
-
TrackerBounds::halfLength
(),
17
TrackerBounds::halfLength
());
18
return
new
Cylinder
(
Cylinder::computeRadius
(*cb),
Surface::PositionType
(0, 0, 0),
rot
, cb);
19
}
20
21
static
Disk
*
initNegative
() {
22
Surface::RotationType
rot
;
// unit rotation matrix
23
24
return
new
Disk
(
Surface::PositionType
(0, 0, -
TrackerBounds::halfLength
()),
25
rot
,
26
new
SimpleDiskBounds
(0,
TrackerBounds::radius
(), -
epsilon
,
epsilon
));
27
}
28
29
static
Disk
*
initPositive
() {
30
Surface::RotationType
rot
;
// unit rotation matrix
31
32
return
new
Disk
(
Surface::PositionType
(0, 0,
TrackerBounds::halfLength
()),
33
rot
,
34
new
SimpleDiskBounds
(0,
TrackerBounds::radius
(), -
epsilon
,
epsilon
));
35
}
36
37
bool
TrackerBounds::isInside
(
const
GlobalPoint
&
point
) {
38
return
(
point
.perp() <=
TrackerBounds::radius
() && fabs(
point
.z()) <=
TrackerBounds::halfLength
());
39
}
40
41
// static initializers
42
43
const
ReferenceCountingPointer<BoundCylinder>
TrackerBounds::theCylinder
=
initCylinder
();
44
const
ReferenceCountingPointer<BoundDisk>
TrackerBounds::theNegativeDisk
=
initNegative
();
45
const
ReferenceCountingPointer<BoundDisk>
TrackerBounds::thePositiveDisk
=
initPositive
();
epsilon
static const float epsilon
Definition:
TrackerBounds.cc:10
TrackerBounds::isInside
static bool isInside(const GlobalPoint &)
Definition:
TrackerBounds.cc:37
initPositive
static Disk * initPositive()
Definition:
TrackerBounds.cc:29
BoundDisk.h
SimpleDiskBounds.h
TrackerBounds::halfLength
static float halfLength()
Definition:
TrackerBounds.h:33
TrackerBounds::theCylinder
static const ReferenceCountingPointer< Cylinder > theCylinder
Definition:
TrackerBounds.h:37
TrackerBounds::thePositiveDisk
static const ReferenceCountingPointer< Disk > thePositiveDisk
Definition:
TrackerBounds.h:39
Cylinder
Definition:
Cylinder.h:19
ReferenceCountingPointer< BoundCylinder >
Disk
Definition:
BoundDisk.h:19
SimpleCylinderBounds.h
TkRotation< float >
TrackerBounds::radius
static float radius()
Definition:
TrackerBounds.h:32
TrackerBounds.h
initNegative
static Disk * initNegative()
Definition:
TrackerBounds.cc:21
TrackerBounds::theNegativeDisk
static const ReferenceCountingPointer< Disk > theNegativeDisk
Definition:
TrackerBounds.h:38
Point3DBase< float, GlobalTag >
SimpleCylinderBounds
Definition:
SimpleCylinderBounds.h:19
Cylinder::computeRadius
static float computeRadius(Bounds const &bounds)
Definition:
Cylinder.h:28
initCylinder
static Cylinder * initCylinder()
Definition:
TrackerBounds.cc:12
SimpleDiskBounds
Definition:
SimpleDiskBounds.h:11
BoundCylinder.h
makeMuonMisalignmentScenario.rot
rot
Definition:
makeMuonMisalignmentScenario.py:322
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
Generated for CMSSW Reference Manual by
1.8.14