38 return (
G4int) parameterList.size();
44 parameterList.push_back(newParameter);
48void G4GDMLParameterisation::ComputeTransformation(
56void G4GDMLParameterisation::ComputeDimensions(
G4Box& box,
const G4int index,
65void G4GDMLParameterisation::ComputeDimensions(
G4Trd& trd,
const G4int index,
76void G4GDMLParameterisation::ComputeDimensions(
G4Trap& trap,
const G4int index,
80 parameterList[index].dimension[1],
81 parameterList[index].dimension[2],
82 parameterList[index].dimension[3],
83 parameterList[index].dimension[4],
84 parameterList[index].dimension[5],
85 parameterList[index].dimension[6],
86 parameterList[index].dimension[7],
87 parameterList[index].dimension[8],
88 parameterList[index].dimension[9],
89 parameterList[index].dimension[10]);
93void G4GDMLParameterisation::ComputeDimensions(
G4Tubs& tubs,
const G4int index,
104void G4GDMLParameterisation::ComputeDimensions(
G4Cons& cons,
const G4int index,
117void G4GDMLParameterisation::ComputeDimensions(
G4Sphere& sphere,
130void G4GDMLParameterisation::ComputeDimensions(
G4Orb& orb,
const G4int index,
133 orb.
SetRadius(parameterList[index].dimension[0]);
137void G4GDMLParameterisation::ComputeDimensions(
G4Ellipsoid& ellipsoid,
141 ellipsoid.
SetSemiAxis(parameterList[index].dimension[0],
142 parameterList[index].dimension[1],
143 parameterList[index].dimension[2]);
144 ellipsoid.
SetZCuts(parameterList[index].dimension[3],
145 parameterList[index].dimension[4]);
149void G4GDMLParameterisation::ComputeDimensions(
G4Torus& torus,
154 parameterList[index].dimension[1],
155 parameterList[index].dimension[2],
156 parameterList[index].dimension[3],
157 parameterList[index].dimension[4]);
161void G4GDMLParameterisation::ComputeDimensions(
G4Para& para,
const G4int index,
167 para.
SetAlpha(parameterList[index].dimension[3]);
168 para.
SetTanAlpha(std::tan(parameterList[index].dimension[3]));
170 parameterList[index].dimension[5]);
174void G4GDMLParameterisation::ComputeDimensions(
G4Hype& hype,
const G4int index,
185void G4GDMLParameterisation::ComputeDimensions(
G4Polycone& pcone,
190 origparam.Start_angle = parameterList[index].dimension[0];
191 origparam.Opening_angle = parameterList[index].dimension[1];
192 origparam.Num_z_planes = (
G4int) parameterList[index].dimension[2];
193 G4int nZplanes = origparam.Num_z_planes;
195 for(
G4int ii = 0; ii < nZplanes; ++ii)
197 origparam.Rmin[ii] = parameterList[index].dimension[3 + ii * 3];
198 origparam.Rmax[ii] = parameterList[index].dimension[4 + ii * 3];
199 origparam.Z_values[ii] = parameterList[index].dimension[5 + ii * 3];
207void G4GDMLParameterisation::ComputeDimensions(
G4Polyhedra& polyhedra,
212 origparam.Start_angle = parameterList[index].dimension[0];
213 origparam.Opening_angle = parameterList[index].dimension[1];
214 origparam.Num_z_planes = (
G4int) parameterList[index].dimension[2];
215 origparam.numSide = (
G4int) parameterList[index].dimension[3];
217 G4int nZplanes = origparam.Num_z_planes;
219 for(
G4int ii = 0; ii < nZplanes; ++ii)
221 origparam.Rmin[ii] = parameterList[index].dimension[4 + ii * 3];
222 origparam.Rmax[ii] = parameterList[index].dimension[5 + ii * 3];
223 origparam.Z_values[ii] = parameterList[index].dimension[6 + ii * 3];
G4Box is a cuboid of given half lengths dx,dy,dz. The Box is centred on the origin with sides paralle...
void SetZHalfLength(G4double dz)
void SetYHalfLength(G4double dy)
void SetXHalfLength(G4double dx)
G4Cons is, in the general case, a Phi segment of a cone, with half-length fDz, inner and outer radii ...
void SetInnerRadiusPlusZ(G4double Rmin2)
void SetZHalfLength(G4double newDz)
void SetStartPhiAngle(G4double newSPhi, G4bool trig=true)
void SetOuterRadiusMinusZ(G4double Rmax1)
void SetOuterRadiusPlusZ(G4double Rmax2)
void SetDeltaPhiAngle(G4double newDPhi)
void SetInnerRadiusMinusZ(G4double Rmin1)
G4Ellipsoid is an ellipsoidal solid, optionally cut at a given Z.
void SetZCuts(G4double newzBottomCut, G4double newzTopCut)
void SetSemiAxis(G4double x, G4double y, G4double z)
void AddParameter(const PARAMETER &)
G4Hype is a tube with hyperbolic profile; it describes an hyperbolic volume with curved sides paralle...
void SetOuterStereo(G4double newOSte)
void SetOuterRadius(G4double newORad)
void SetZHalfLength(G4double newHLZ)
void SetInnerStereo(G4double newISte)
void SetInnerRadius(G4double newIRad)
G4Orb represents a full sphere.
void SetRadius(G4double newRmax)
G4Para represents a parallelepiped, essentially a box with half lengths dx,dy,dz 'skewed' so that the...
void SetYHalfLength(G4double val)
void SetTanAlpha(G4double val)
void SetZHalfLength(G4double val)
void SetXHalfLength(G4double val)
void SetThetaAndPhi(G4double pTheta, G4double pPhi)
void SetAlpha(G4double alpha)
G4Polycone represents a composed closed shape (PCON) made of cones and cylinders, along the Z axis wi...
void SetOriginalParameters(G4PolyconeHistorical *pars)
G4PolyconeHistorical * GetOriginalParameters() const
G4Polyhedra represents a composed closed polyhedra (PGON) made of planar sizes along the Z axis,...
void SetOriginalParameters(G4PolyhedraHistorical *pars)
G4PolyhedraHistorical * GetOriginalParameters() const
G4Sphere is, in the general case, a section of a spherical shell, between specified phi and theta ang...
void SetDeltaPhiAngle(G4double newDphi)
void SetStartThetaAngle(G4double newSTheta)
void SetOuterRadius(G4double newRmax)
void SetDeltaThetaAngle(G4double newDTheta)
void SetInnerRadius(G4double newRMin)
void SetStartPhiAngle(G4double newSphi, G4bool trig=true)
G4Torus represents a torus or torus segment with curved sides parallel to the z-axis....
void SetAllParameters(G4double pRmin, G4double pRmax, G4double pRtor, G4double pSPhi, G4double pDPhi)
G4Trap is a general trapezoid: the faces perpendicular to the Z planes are trapezia,...
void SetAllParameters(G4double pDz, G4double pTheta, G4double pPhi, G4double pDy1, G4double pDx1, G4double pDx2, G4double pAlp1, G4double pDy2, G4double pDx3, G4double pDx4, G4double pAlp2)
G4Trd is a trapezoid with the X and Y dimensions varying along Z.
void SetYHalfLength2(G4double val)
void SetXHalfLength1(G4double val)
void SetYHalfLength1(G4double val)
void SetXHalfLength2(G4double val)
void SetZHalfLength(G4double val)
G4Tubs is a tube or tube segment with curved sides parallel to the Z-axis. The tube has a specified h...
void SetDeltaPhiAngle(G4double newDPhi)
void SetStartPhiAngle(G4double newSPhi, G4bool trig=true)
void SetInnerRadius(G4double newRMin)
void SetOuterRadius(G4double newRMax)
void SetZHalfLength(G4double newDz)
G4VPhysicalVolume is an abstract base class for the representation of a positioned volume....
void SetTranslation(const G4ThreeVector &v)
void SetRotation(G4RotationMatrix *)