1 #ifndef MagneticField_GeomBuilder_DD4hep_volumeHandle_h
2 #define MagneticField_GeomBuilder_DD4hep_volumeHandle_h
19 namespace magneticfield {
36 std::vector<VolumeSide>
sides()
const override;
43 void buildBox(
double halfX,
double halfY,
double halfZ);
57 void buildTubs(
double zhalf,
double rIn,
double rOut,
double startPhi,
double deltaPhi);
68 void buildPseudoTrap(
double x1,
double x2,
double y1,
double y2,
double halfZ,
double radius,
bool atMinusZ);
void buildBox(double halfX, double halfY, double halfZ)
Geom::Theta< T > theta() const
volumeHandle operator=(const volumeHandle &v)=delete
void referencePlane(const cms::DDFilteredView &fv)
const DDSolidShape theShape
void buildTrap(double x1, double x2, double x3, double x4, double y1, double y2, double theta, double phi, double halfZ, double alpha1, double alpha2)
void buildTruncTubs(double zhalf, double rIn, double rOut, double startPhi, double deltaPhi, double cutAtStart, double cutAtDelta, bool cutInside)
void buildPseudoTrap(double x1, double x2, double y1, double y2, double halfZ, double radius, bool atMinusZ)
void buildCons(double zhalf, double rInMinusZ, double rOutMinusZ, double rInPlusZ, double rOutPlusZ, double startPhi, double deltaPhi)
DDSolidShape shape() const override
Shape of the solid.
std::vector< VolumeSide > sides() const override
The surfaces and they orientation, as required to build a MagVolume.
const cms::DDFilteredView & solid
volumeHandle(const cms::DDFilteredView &fv, bool expand2Pi=false, bool debugVal=false)
void buildTubs(double zhalf, double rIn, double rOut, double startPhi, double deltaPhi)