Main Page
Namespaces
Classes
Package Documentation
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
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
();
TrackerBounds::isInside
static bool isInside(const GlobalPoint &)
Definition:
TrackerBounds.cc:37
PV3DBase::perp
T perp() const
Definition:
PV3DBase.h:69
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 >
PV3DBase::z
T z() const
Definition:
PV3DBase.h:61
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
geometryDiff.epsilon
int epsilon
Definition:
geometryDiff.py:26
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:322
Generated for CMSSW Reference Manual by
1.8.5