test
Main Page
Namespaces
Classes
Package Documentation
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Pages
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/Base/interface/DDTypes.h
"
8
#include "
DetectorDescription/Algorithm/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
virtual
~DDCutTubsFromPoints
();
19
20
void
initialize
(
const
DDNumericArguments
& nArgs,
21
const
DDVectorArguments
& vArgs,
22
const
DDMapArguments
& mArgs,
23
const
DDStringArguments
& sArgs,
24
const
DDStringVectorArguments
& vsArgs);
25
26
void
execute
(
DDCompactView
& cpv);
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
DDName
DDName is used to identify DDD entities uniquely.
Definition:
DDName.h:16
DDCompactView
type of data representation of DDCompactView
Definition:
DDCompactView.h:90
DDCutTubsFromPoints::execute
void execute(DDCompactView &cpv)
Definition:
DDCutTubsFromPoints.cc:66
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::initialize
void initialize(const DDNumericArguments &nArgs, const DDVectorArguments &vArgs, const DDMapArguments &mArgs, const DDStringArguments &sArgs, const DDStringVectorArguments &vsArgs)
Definition:
DDCutTubsFromPoints.cc:24
DDCutTubsFromPoints::~DDCutTubsFromPoints
virtual ~DDCutTubsFromPoints()
Definition:
DDCutTubsFromPoints.cc:22
DDCutTubsFromPoints::DDCutTubsFromPoints
DDCutTubsFromPoints()
Definition:
DDCutTubsFromPoints.cc:18
DDTypes.h
DDCutTubsFromPoints::Section::z_t
double z_t
Definition:
DDCutTubsFromPoints.h:32
Generated for CMSSW Reference Manual by
1.8.5