20#ifndef GEANT4_GM_TRAP_H
21#define GEANT4_GM_TRAP_H
28class G4ReflectedSolid;
35 Trap(
const std::string& name,
double hz,
double theta,
double phi,
double dy1,
36 double dx1,
double dx2,
double alpha1,
double dy2,
double dx3,
double dx4,
38 Trap(G4Trap* trap, G4ReflectedSolid* reflTrap = 0);
42 virtual std::string
Name()
const;
44 virtual double Theta()
const;
45 virtual double Phi()
const;
VGM implementation for Geant4 trap solid.
virtual double YHalfLengthPlusZ() const
Return the half-length along y of the face at +hz in m.
virtual double Phi() const
Return the azimuthal angle of the line joining the centres of the faces at -hz and +hz in deg.
virtual double XHalfLengthMinusZMinusY() const
Return the half-length along x of the side at -hy of the face at -hz in mm.
virtual std::string Name() const
Return the name of this solid.
virtual double AlphaMinusZ() const
Return the angle with respect to the y axis from the centre of the side at -hy to the centre at +hy o...
virtual double XHalfLengthPlusZMinusY() const
Return the half-length along x of the side at -hy of the face at +hz in m.
virtual double XHalfLengthPlusZPlusY() const
Return the half-length along x of the side at +hy of the face at +hz in m.
virtual double YHalfLengthMinusZ() const
Return the half-length along y of the face at -hz in mm.
virtual double ZHalfLength() const
Return the half-length along the z axis in mm.
virtual double AlphaPlusZ() const
Return the angle with respect to the y axis from the centre of the side at -hy to the centre at +hy o...
virtual double XHalfLengthMinusZPlusY() const
Return the half-length along x of the side at +hy of the face at +hz in mm.
virtual double Theta() const
Return the polar angle of the line joining the centres of the faces at -hz and +hz in deg.
VGM implementation for Geant4.