MagneticField
GeomBuilder
src
DD4hep_volumeHandle.h
Go to the documentation of this file.
1
#ifndef MagneticField_GeomBuilder_DD4hep_volumeHandle_h
2
#define MagneticField_GeomBuilder_DD4hep_volumeHandle_h
3
13
#include "
BaseVolumeHandle.h
"
14
15
#include "
DataFormats/GeometrySurface/interface/Surface.h
"
16
#include "
DetectorDescription/DDCMS/interface/DDFilteredView.h
"
17
#include "
MagneticField/VolumeGeometry/interface/VolumeSide.h
"
18
19
namespace
magneticfield
{
20
21
typedef
const
char
*
ShapeType
;
22
23
class
volumeHandle
:
public
BaseVolumeHandle
{
24
public
:
25
volumeHandle
(
const
cms::DDFilteredView
& fv,
bool
expand2Pi =
false
,
bool
debugVal =
false
);
26
27
// Disallow Default/copy ctor & assignment op.
28
// (we want to handle only pointers!!!)
29
volumeHandle
(
const
volumeHandle
&
v
) =
delete
;
30
volumeHandle
operator=
(
const
volumeHandle
&
v
) =
delete
;
31
32
// Shape at initialization
33
DDSolidShape
shape
()
const override
{
return
(
theShape
); }
34
36
std::vector<VolumeSide>
sides
()
const override
;
37
38
private
:
39
// initialise the refPlane
40
void
referencePlane
(
const
cms::DDFilteredView
& fv);
41
42
// Build the surfaces for a box
43
void
buildBox
();
44
// Build the surfaces for a trapezoid
45
void
buildTrap
();
46
// Build the surfaces for a ddtubs shape
47
void
buildTubs
();
48
// Build the surfaces for a ddcons shape
49
void
buildCons
();
50
// Build the surfaces for a ddpseudotrap. This is not a supported
51
// shape in DD4hep; it is handled here to cope with legacy geometries.
52
void
buildPseudoTrap
(
double
x1
,
double
x2
,
double
y1
,
double
y2
,
double
halfZ,
double
radius
,
bool
atMinusZ);
53
// Build the surfaces for a ddtrunctubs shape
54
void
buildTruncTubs
();
55
56
// Shape at initialization
57
const
DDSolidShape
theShape
;
58
const
cms::DDFilteredView
&
solid
;
59
// "solid" name is for backwards compatibility. Can be changed to "fview" after DD4hep migration.
60
};
61
}
// namespace magneticfield
62
63
#endif
DDSolidShape
DDSolidShape
Definition:
DDSolidShapes.h:6
magneticfield::volumeHandle::buildBox
void buildBox()
magneticfield::volumeHandle::theShape
const DDSolidShape theShape
Definition:
DD4hep_volumeHandle.h:57
testProducerWithPsetDescEmpty_cfi.x2
x2
Definition:
testProducerWithPsetDescEmpty_cfi.py:28
magneticfield::volumeHandle::shape
DDSolidShape shape() const override
Shape of the solid.
Definition:
DD4hep_volumeHandle.h:33
magneticfield::volumeHandle
Definition:
DD4hep_volumeHandle.h:23
magneticfield
Definition:
MagFieldConfig.h:22
cms::DDFilteredView
Definition:
DDFilteredView.h:65
findQualityFiles.v
v
Definition:
findQualityFiles.py:179
magneticfield::volumeHandle::buildTruncTubs
void buildTruncTubs()
testProducerWithPsetDescEmpty_cfi.x1
x1
Definition:
testProducerWithPsetDescEmpty_cfi.py:33
VolumeSide.h
testProducerWithPsetDescEmpty_cfi.y1
y1
Definition:
testProducerWithPsetDescEmpty_cfi.py:29
Surface.h
DDFilteredView.h
magneticfield::volumeHandle::operator=
volumeHandle operator=(const volumeHandle &v)=delete
testProducerWithPsetDescEmpty_cfi.y2
y2
Definition:
testProducerWithPsetDescEmpty_cfi.py:30
magneticfield::volumeHandle::volumeHandle
volumeHandle(const cms::DDFilteredView &fv, bool expand2Pi=false, bool debugVal=false)
Definition:
DD4hep_volumeHandle.cc:27
magneticfield::volumeHandle::referencePlane
void referencePlane(const cms::DDFilteredView &fv)
Definition:
DD4hep_volumeHandle.cc:92
magneticfield::BaseVolumeHandle
Definition:
BaseVolumeHandle.h:22
BaseVolumeHandle.h
magneticfield::volumeHandle::buildCons
void buildCons()
CosmicsPD_Skims.radius
radius
Definition:
CosmicsPD_Skims.py:135
magneticfield::volumeHandle::solid
const cms::DDFilteredView & solid
Definition:
DD4hep_volumeHandle.h:58
magneticfield::ShapeType
const typedef char * ShapeType
Definition:
DD4hep_volumeHandle.h:21
magneticfield::volumeHandle::buildTrap
void buildTrap()
magneticfield::volumeHandle::buildPseudoTrap
void buildPseudoTrap(double x1, double x2, double y1, double y2, double halfZ, double radius, bool atMinusZ)
magneticfield::volumeHandle::buildTubs
void buildTubs()
magneticfield::volumeHandle::sides
std::vector< VolumeSide > sides() const override
The surfaces and they orientation, as required to build a MagVolume.
Definition:
DD4hep_volumeHandle.cc:168
Generated for CMSSW Reference Manual by
1.8.16