22#ifndef GEANT4_GM_CTUBS_H
23#define GEANT4_GM_CTUBS_H
27#include "G4ThreeVector.hh"
33class G4ReflectedSolid;
40 Ctubs(
const std::string& name,
double rin,
double rout,
double hz,
41 double sphi,
double dphi,
double nxlow,
double nylow,
double nzlow,
42 double nxhigh,
double nyhigh,
double nzhigh);
43 Ctubs(G4CutTubs* ctubs, G4ReflectedSolid* reflCtubs = 0);
47 virtual std::string
Name()
const;
53 virtual double NxLow()
const;
54 virtual double NyLow()
const;
55 virtual double NzLow()
const;
56 virtual double NxHigh()
const;
57 virtual double NyHigh()
const;
58 virtual double NzHigh()
const;
65 static const double fgkTolerance;
The ABC for cut tubs solids.
VGM implementation for cut tubs solid in Geant4.
virtual double NyHigh() const
Y-component of the normal unit vector to the cut plane in +z.
virtual double NxHigh() const
X-component of the normal unit vector to the cut plane in +z.
virtual double OuterRadius() const
Return the outside radius in mm.
virtual double ZHalfLength() const
Return the half-length along the z axis in m.
virtual double NzLow() const
Z-component of the normal unit vector to the cut plane in -z.
virtual double NzHigh() const
Z-component of the normal unit vector to the cut plane in +z.
virtual double DeltaPhi() const
Return the opening angle of the segment in deg.
virtual double NyLow() const
Y-component of the normal unit vector to the cut plane in -z.
virtual double NxLow() const
X-component of the normal unit vector to the cut plane in -z.
virtual std::string Name() const
Return the name of this solid.
virtual double StartPhi() const
Return the starting angle of the segment in deg.
virtual double InnerRadius() const
Return the inside radius in mm.
VGM implementation for Geant4.