Main Page
Namespaces
Classes
Package Documentation
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
epsilon
static const float epsilon
Definition:
TrackerBounds.cc:10
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
Definition:
Cylinder.h:19
ReferenceCountingPointer< BoundCylinder >
Disk
Definition:
BoundDisk.h:19
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
Definition:
SimpleCylinderBounds.h:20
Cylinder::computeRadius
static float computeRadius(Bounds const &bounds)
Definition:
Cylinder.h:30
initCylinder
static Cylinder * initCylinder()
Definition:
TrackerBounds.cc:12
SimpleDiskBounds
Definition:
SimpleDiskBounds.h:13
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.11