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