Main Page
Namespaces
Classes
Package Documentation
src
Geometry
TrackerCommonData
plugins
DDCutTubsFromPoints.h
Go to the documentation of this file.
1
#ifndef DD_CutTubsFromPoints_h
2
#define DD_CutTubsFromPoints_h
3
4
#include <map>
5
#include <string>
6
#include <vector>
7
#include "
DetectorDescription/Core/interface/DDTypes.h
"
8
#include "
DetectorDescription/Core/interface/DDAlgorithm.h
"
9
#include "
DetectorDescription/Core/interface/DDMaterial.h
"
10
11
// This algorithm creates a ring made of CutTubs segments from the phi,z points
12
// of the rings "corners".
13
// The algorithm only defines and places two copies of a single Solid with the given name.
14
class
DDCutTubsFromPoints
:
public
DDAlgorithm {
15
public
:
16
//Constructor and Destructor
17
DDCutTubsFromPoints
();
18
~DDCutTubsFromPoints
()
override
;
19
20
void
initialize
(
const
DDNumericArguments
& nArgs,
21
const
DDVectorArguments
& vArgs,
22
const
DDMapArguments
& mArgs,
23
const
DDStringArguments
& sArgs,
24
const
DDStringVectorArguments
& vsArgs)
override
;
25
26
void
execute
(
DDCompactView
& cpv)
override
;
27
28
private
:
29
struct
Section
{
30
double
phi
;
// phi position of this edge
31
double
z_l
;
// -Z end (cuttubs l plane)
32
double
z_t
;
// +Z end (cuttubs t plane)
33
// radius is implicitly r_min
34
};
35
36
double
r_min
;
37
double
r_max
;
38
double
z_pos
;
39
DDMaterial
material
;
40
41
// a segment is produced between each two consecutive sections that have a
42
// non-zero phi distance. Sections with zero phi distance can be used to
43
// create sharp jumps.
44
std::vector<Section>
sections
;
45
// this solid will be defined.
46
DDName
solidOutput
;
47
48
49
};
50
51
#endif
DDCutTubsFromPoints::Section
Definition:
DDCutTubsFromPoints.h:29
DDCutTubsFromPoints::Section::z_l
double z_l
Definition:
DDCutTubsFromPoints.h:31
DDMaterial.h
DDCutTubsFromPoints::material
DDMaterial material
Definition:
DDCutTubsFromPoints.h:39
DDCutTubsFromPoints::r_max
double r_max
Definition:
DDCutTubsFromPoints.h:37
DDMaterial
DDMaterial is used to define and access material information.
Definition:
DDMaterial.h:41
DDCutTubsFromPoints::sections
std::vector< Section > sections
Definition:
DDCutTubsFromPoints.h:44
DDCutTubsFromPoints::~DDCutTubsFromPoints
~DDCutTubsFromPoints() override
Definition:
DDCutTubsFromPoints.cc:22
DDName
DDName is used to identify DDD entities uniquely.
Definition:
DDName.h:15
DDCompactView
type of data representation of DDCompactView
Definition:
DDCompactView.h:90
DDCutTubsFromPoints::initialize
void initialize(const DDNumericArguments &nArgs, const DDVectorArguments &vArgs, const DDMapArguments &mArgs, const DDStringArguments &sArgs, const DDStringVectorArguments &vsArgs) override
Definition:
DDCutTubsFromPoints.cc:24
ReadMapType< double >
DDCutTubsFromPoints::z_pos
double z_pos
Definition:
DDCutTubsFromPoints.h:38
DDCutTubsFromPoints::solidOutput
DDName solidOutput
Definition:
DDCutTubsFromPoints.h:46
DDCutTubsFromPoints
Definition:
DDCutTubsFromPoints.h:14
DDCutTubsFromPoints::r_min
double r_min
Definition:
DDCutTubsFromPoints.h:36
DDCutTubsFromPoints::Section::phi
double phi
Definition:
DDCutTubsFromPoints.h:30
DDAlgorithm.h
DDCutTubsFromPoints::DDCutTubsFromPoints
DDCutTubsFromPoints()
Definition:
DDCutTubsFromPoints.cc:18
DDTypes.h
DDCutTubsFromPoints::Section::z_t
double z_t
Definition:
DDCutTubsFromPoints.h:32
DDCutTubsFromPoints::execute
void execute(DDCompactView &cpv) override
Definition:
DDCutTubsFromPoints.cc:66
Generated for CMSSW Reference Manual by
1.8.11