CMS 3D CMS Logo

volumeHandle.h
Go to the documentation of this file.
1 #ifndef volumeHandle_H
2 #define volumeHandle_H
3 
13 #include "BaseVolumeHandle.h"
14 #include "MagGeoBuilderFromDDD.h"
15 
19 
20 class DDExpandedView;
21 class MagVolume6Faces;
22 
24 public:
25  volumeHandle(const DDExpandedView& 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  DDSolidShape shape() const override { return solid.shape(); }
33 
35  std::vector<VolumeSide> sides() const override;
36 
37 private:
38  // initialise the refPlane
39  void referencePlane(const DDExpandedView& fv);
40 
41  // Build the surfaces for a box
42  void buildBox();
43  // Build the surfaces for a trapezoid
44  void buildTrap();
45  // Build the surfaces for a ddtubs shape
46  void buildTubs();
47  // Build the surfaces for a ddcons shape
48  void buildCons();
49  // Build the surfaces for a ddpseudotrap shape
50  void buildPseudoTrap(double x1, double x2, double y1, double y2, double halfZ, double radius, bool atMinusZ);
51  // Build the surfaces for a ddtrunctubs shape
52  void buildTruncTubs();
53 
54  // the DDSolid.
56 };
57 
58 #endif
MagGeoBuilderFromDDD::volumeHandle::shape
DDSolidShape shape() const override
Shape of the solid.
Definition: volumeHandle.h:32
DDSolidShape
DDSolidShape
Definition: DDSolidShapes.h:6
MagGeoBuilderFromDDD::volumeHandle::sides
std::vector< VolumeSide > sides() const override
The surfaces and they orientation, as required to build a MagVolume.
Definition: volumeHandle.cc:218
testProducerWithPsetDescEmpty_cfi.x2
x2
Definition: testProducerWithPsetDescEmpty_cfi.py:28
MagGeoBuilderFromDDD::volumeHandle::buildBox
void buildBox()
MagGeoBuilderFromDDD::volumeHandle::solid
DDSolid solid
Definition: volumeHandle.h:55
findQualityFiles.v
v
Definition: findQualityFiles.py:179
MagGeoBuilderFromDDD::volumeHandle::referencePlane
void referencePlane(const DDExpandedView &fv)
Definition: volumeHandle.cc:145
MagGeoBuilderFromDDD::volumeHandle::buildCons
void buildCons()
MagGeoBuilderFromDDD::volumeHandle::volumeHandle
volumeHandle(const DDExpandedView &fv, bool expand2Pi=false, bool debugVal=false)
Definition: volumeHandle.cc:30
DDSolid::shape
DDSolidShape shape(void) const
The type of the solid.
Definition: DDSolid.cc:119
testProducerWithPsetDescEmpty_cfi.x1
x1
Definition: testProducerWithPsetDescEmpty_cfi.py:33
VolumeSide.h
testProducerWithPsetDescEmpty_cfi.y1
y1
Definition: testProducerWithPsetDescEmpty_cfi.py:29
Surface.h
MagGeoBuilderFromDDD::volumeHandle
Definition: volumeHandle.h:23
DDSolid.h
MagVolume6Faces
Definition: MagVolume6Faces.h:23
DDExpandedView
Provides an exploded view of the detector (tree-view)
Definition: DDExpandedView.h:41
testProducerWithPsetDescEmpty_cfi.y2
y2
Definition: testProducerWithPsetDescEmpty_cfi.py:30
MagGeoBuilderFromDDD::volumeHandle::buildPseudoTrap
void buildPseudoTrap(double x1, double x2, double y1, double y2, double halfZ, double radius, bool atMinusZ)
MagGeoBuilderFromDDD::volumeHandle::buildTubs
void buildTubs()
MagGeoBuilderFromDDD.h
magneticfield::BaseVolumeHandle
Definition: BaseVolumeHandle.h:22
MagGeoBuilderFromDDD::volumeHandle::buildTrap
void buildTrap()
BaseVolumeHandle.h
MagGeoBuilderFromDDD::volumeHandle::operator=
volumeHandle operator=(const volumeHandle &v)=delete
CosmicsPD_Skims.radius
radius
Definition: CosmicsPD_Skims.py:135
DDSolid
A DDSolid represents the shape of a part.
Definition: DDSolid.h:39
MagGeoBuilderFromDDD::volumeHandle::buildTruncTubs
void buildTruncTubs()