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();
51  // Build the surfaces for a ddtrunctubs shape
52  void buildTruncTubs();
53 
54  // the DDSolid.
56 };
57 
58 #endif
volumeHandle(const DDExpandedView &fv, bool expand2Pi=false, bool debugVal=false)
Definition: volumeHandle.cc:32
A DDSolid represents the shape of a part.
Definition: DDSolid.h:39
DDSolidShape shape(void) const
The type of the solid.
Definition: DDSolid.cc:119
void referencePlane(const DDExpandedView &fv)
DDSolidShape
Definition: DDSolidShapes.h:6
volumeHandle operator=(const volumeHandle &v)=delete
Provides an exploded view of the detector (tree-view)
std::vector< VolumeSide > sides() const override
The surfaces and they orientation, as required to build a MagVolume.
DDSolidShape shape() const override
Shape of the solid.
Definition: volumeHandle.h:32