Main Page
Namespaces
Classes
Package Documentation
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Pages
Geometry
TrackerCommonData
plugins
DDTrackerRingAlgo.h
Go to the documentation of this file.
1
#ifndef DD_TrackerRingAlgo_h
2
#define DD_TrackerRingAlgo_h
3
4
/*
5
Tilts and positions n copies of a module at prescribed phi values
6
within a ring. The module can also be flipped if requested.
7
8
(radius, Phi, Z) refers to the cylindrical coordinates in the global frame of reference.
9
10
A module's tilt angle is defined with respect to the global frame of reference's Z axis.
11
Example, in the outer tracker : For a straight barrel module, tiltAngle = 0°.
12
For a module in the endcaps, tiltAngle = 90°.
13
tiltAngle ∈ [0, 90°].
14
Please note that parameter tiltAngle has to be set regardless of any sign consideration,
15
to the absolute value of the module's tilt angle.
16
17
== Example of use : ==
18
19
<Algorithm name="track:DDTrackerRingAlgo">
20
<rParent name="tracker:Ring5Layer1Plus"/>
21
<String name="ChildName" value="tracker:BModule5Layer1"/>
22
<Numeric name="N" value="9"/>
23
<Numeric name="StartCopyNo" value="1"/>
24
<Numeric name="IncrCopyNo" value="2"/>
25
<Numeric name="RangeAngle" value="360*deg"/>
26
<Numeric name="StartAngle" value="90*deg"/>
27
<Numeric name="Radius" value="247"/>
28
<Vector name="Center" type="numeric" nEntries="3">0,0,-5.45415</Vector>
29
<Numeric name="IsZPlus" value="1"/>
30
<Numeric name="TiltAngle" value="47*deg"/>
31
<Numeric name="IsFlipped" value="1"/>
32
</Algorithm>
33
*/
34
35
#include <map>
36
#include <string>
37
#include <vector>
38
#include "
DetectorDescription/Base/interface/DDTypes.h
"
39
#include "
DetectorDescription/Algorithm/interface/DDAlgorithm.h
"
40
41
class
DDTrackerRingAlgo
:
public
DDAlgorithm {
42
43
public
:
44
// Constructor and Destructor
45
DDTrackerRingAlgo
();
46
virtual
~DDTrackerRingAlgo
();
47
48
void
initialize
(
const
DDNumericArguments
& nArgs,
49
const
DDVectorArguments
& vArgs,
50
const
DDMapArguments
& mArgs,
51
const
DDStringArguments
& sArgs,
52
const
DDStringVectorArguments
& vsArgs);
53
54
void
execute
(
DDCompactView
& cpv);
55
56
private
:
57
58
int
n
;
//Number of copies
59
int
startCopyNo
;
//Start Copy number
60
int
incrCopyNo
;
//Increment in Copy number
61
double
rangeAngle
;
//Range in Phi angle
62
double
startAngle
;
//Start Phi angle
63
double
radius
;
//Radius
64
std::vector<double>
center
;
//Phi values
65
bool
isZPlus
;
//Is Z positive ?
66
double
tiltAngle
;
//Module's tilt angle (absolute value)
67
bool
isFlipped
;
//Is the module flipped ?
68
double
delta
;
//Increment in Phi
69
70
std::string
idNameSpace
;
//Namespace of this and ALL sub-parts
71
std::string
childName
;
//Child name
72
};
73
74
#endif
DDTrackerRingAlgo::execute
void execute(DDCompactView &cpv)
Definition:
DDTrackerRingAlgo.cc:71
DDTrackerRingAlgo::radius
double radius
Definition:
DDTrackerRingAlgo.h:63
DDTrackerRingAlgo::childName
std::string childName
Definition:
DDTrackerRingAlgo.h:71
DDTrackerRingAlgo::isFlipped
bool isFlipped
Definition:
DDTrackerRingAlgo.h:67
DDTrackerRingAlgo::tiltAngle
double tiltAngle
Definition:
DDTrackerRingAlgo.h:66
DDCompactView
type of data representation of DDCompactView
Definition:
DDCompactView.h:77
AlCaHLTBitMon_QueryRunRegistry.string
string string
Definition:
AlCaHLTBitMon_QueryRunRegistry.py:255
DDTrackerRingAlgo::idNameSpace
std::string idNameSpace
Definition:
DDTrackerRingAlgo.h:70
DDTrackerRingAlgo::n
int n
Definition:
DDTrackerRingAlgo.h:58
DDTrackerRingAlgo::rangeAngle
double rangeAngle
Definition:
DDTrackerRingAlgo.h:61
ReadMapType< double >
DDTrackerRingAlgo::incrCopyNo
int incrCopyNo
Definition:
DDTrackerRingAlgo.h:60
DDTrackerRingAlgo::isZPlus
bool isZPlus
Definition:
DDTrackerRingAlgo.h:65
DDTrackerRingAlgo::initialize
void initialize(const DDNumericArguments &nArgs, const DDVectorArguments &vArgs, const DDMapArguments &mArgs, const DDStringArguments &sArgs, const DDStringVectorArguments &vsArgs)
Definition:
DDTrackerRingAlgo.cc:28
DDTrackerRingAlgo::startCopyNo
int startCopyNo
Definition:
DDTrackerRingAlgo.h:59
DDAlgorithm.h
DDTrackerRingAlgo::~DDTrackerRingAlgo
virtual ~DDTrackerRingAlgo()
Definition:
DDTrackerRingAlgo.cc:26
DDTrackerRingAlgo::startAngle
double startAngle
Definition:
DDTrackerRingAlgo.h:62
DDTrackerRingAlgo
Definition:
DDTrackerRingAlgo.h:41
DDTypes.h
DDTrackerRingAlgo::DDTrackerRingAlgo
DDTrackerRingAlgo()
Definition:
DDTrackerRingAlgo.cc:22
DDTrackerRingAlgo::center
std::vector< double > center
Definition:
DDTrackerRingAlgo.h:64
DDTrackerRingAlgo::delta
double delta
Definition:
DDTrackerRingAlgo.h:68
Generated for CMSSW Reference Manual by
1.8.5