Geant4-11
Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes | Private Member Functions
G4ParameterisationPolyhedraPhi Class Reference

#include <G4ParameterisationPolyhedra.hh>

Inheritance diagram for G4ParameterisationPolyhedraPhi:
G4VParameterisationPolyhedra G4VDivisionParameterisation G4VPVParameterisation

Public Member Functions

void CheckParametersValidity ()
 
void ComputeDimensions (G4Polyhedra &phedra, const G4int copyNo, const G4VPhysicalVolume *physVol) const
 
virtual G4Material * ComputeMaterial (const G4int repNo, G4VPhysicalVolume *currentVol, const G4VTouchable *parentTouch=nullptr)
 
virtual G4VSolid * ComputeSolid (const G4int, G4VPhysicalVolume *)
 
void ComputeTransformation (const G4int copyNo, G4VPhysicalVolume *physVol) const
 
 G4ParameterisationPolyhedraPhi (EAxis axis, G4int nCopies, G4double offset, G4double step, G4VSolid *motherSolid, DivisionType divType)
 
EAxis GetAxis () const
 
G4double GetHalfGap () const
 
virtual G4VVolumeMaterialScanner * GetMaterialScanner ()
 
G4double GetMaxParameter () const
 
G4VSolid * GetMotherSolid () const
 
G4int GetNoDiv () const
 
G4double GetOffset () const
 
const G4String & GetType () const
 
G4double GetWidth () const
 
virtual G4bool IsNested () const
 
void SetHalfGap (G4double hg)
 
void SetType (const G4String &type)
 
G4int VolumeFirstCopyNo () const
 
 ~G4ParameterisationPolyhedraPhi ()
 

Protected Member Functions

G4int CalculateNDiv (G4double motherDim, G4double width, G4double offset) const
 
G4double CalculateWidth (G4double motherDim, G4int nDiv, G4double offset) const
 
void ChangeRotMatrix (G4VPhysicalVolume *physVol, G4double rotZ=0.0) const
 
void CheckNDivAndWidth (G4double maxPar)
 
void CheckOffset (G4double maxPar)
 
G4double OffsetZ () const
 

Protected Attributes

EAxis faxis
 
G4bool fDeleteSolid = false
 
DivisionType fDivisionType
 
G4double fhgap = 0.0
 
G4VSolid * fmotherSolid = nullptr
 
G4int fnDiv = 0
 
G4double foffset = 0.0
 
G4bool fReflectedSolid = false
 
G4String ftype
 
G4double fwidth = 0.0
 
G4double kCarTolerance
 
G4int theVoluFirstCopyNo = 1
 

Static Protected Attributes

static G4ThreadLocal G4RotationMatrix * fRot = nullptr
 
static const G4int verbose = 5
 

Private Member Functions

void ComputeDimensions (G4Box &, const G4int, const G4VPhysicalVolume *) const
 
void ComputeDimensions (G4Cons &, const G4int, const G4VPhysicalVolume *) const
 
void ComputeDimensions (G4Ellipsoid &, const G4int, const G4VPhysicalVolume *) const
 
void ComputeDimensions (G4Hype &, const G4int, const G4VPhysicalVolume *) const
 
void ComputeDimensions (G4Orb &, const G4int, const G4VPhysicalVolume *) const
 
void ComputeDimensions (G4Para &, const G4int, const G4VPhysicalVolume *) const
 
void ComputeDimensions (G4Polycone &, const G4int, const G4VPhysicalVolume *) const
 
void ComputeDimensions (G4Sphere &, const G4int, const G4VPhysicalVolume *) const
 
void ComputeDimensions (G4Torus &, const G4int, const G4VPhysicalVolume *) const
 
void ComputeDimensions (G4Trap &, const G4int, const G4VPhysicalVolume *) const
 
void ComputeDimensions (G4Trd &, const G4int, const G4VPhysicalVolume *) const
 
void ComputeDimensions (G4Tubs &, const G4int, const G4VPhysicalVolume *) const
 
G4double ConvertRadiusFactor (const G4Polyhedra &phedra) const
 

Detailed Description

Definition at line 130 of file G4ParameterisationPolyhedra.hh.

Constructor & Destructor Documentation

◆ G4ParameterisationPolyhedraPhi()

G4ParameterisationPolyhedraPhi::G4ParameterisationPolyhedraPhi ( EAxis  axis,
G4int  nCopies,
G4double  offset,
G4double  step,
G4VSolid *  motherSolid,
DivisionType  divType 
)

Definition at line 283 of file G4ParameterisationPolyhedra.cc.

287 : G4VParameterisationPolyhedra( axis, nDiv, width, offset, msolid, divType )
288{
290 SetType( "DivisionPolyhedraPhi" );
291
293 G4double deltaPhi = msol->GetEndPhi() - msol->GetStartPhi();
294
295 if( divType == DivWIDTH )
296 {
297 fnDiv = msol->GetNumSide();
298 }
299
300 fwidth = CalculateWidth( deltaPhi, fnDiv, 0.0 );
301
302#ifdef G4DIVDEBUG
303 if( verbose >= 1 )
304 {
305 G4cout << " G4ParameterisationPolyhedraPhi - # divisions " << fnDiv
306 << " = " << nDiv << G4endl
307 << " Offset " << foffset << " = " << offset << G4endl
308 << " Width " << fwidth << " = " << width << G4endl;
309 }
310#endif
311}
double G4double
Definition: G4Types.hh:83
#define G4endl
Definition: G4ios.hh:57
G4GLOB_DLL std::ostream G4cout
G4double GetEndPhi() const
G4int GetNumSide() const
G4double GetStartPhi() const
void SetType(const G4String &type)
G4double CalculateWidth(G4double motherDim, G4int nDiv, G4double offset) const
G4VParameterisationPolyhedra(EAxis axis, G4int nCopies, G4double offset, G4double step, G4VSolid *msolid, DivisionType divType)

References G4VDivisionParameterisation::CalculateWidth(), CheckParametersValidity(), DivWIDTH, G4VDivisionParameterisation::fmotherSolid, G4VDivisionParameterisation::fnDiv, G4VDivisionParameterisation::foffset, G4VDivisionParameterisation::fwidth, G4cout, G4endl, G4Polyhedra::GetEndPhi(), G4Polyhedra::GetNumSide(), G4Polyhedra::GetStartPhi(), G4VDivisionParameterisation::SetType(), and G4VDivisionParameterisation::verbose.

◆ ~G4ParameterisationPolyhedraPhi()

G4ParameterisationPolyhedraPhi::~G4ParameterisationPolyhedraPhi ( )

Definition at line 314 of file G4ParameterisationPolyhedra.cc.

315{
316}

Member Function Documentation

◆ CalculateNDiv()

G4int G4VDivisionParameterisation::CalculateNDiv ( G4double  motherDim,
G4double  width,
G4double  offset 
) const
protectedinherited

Definition at line 99 of file G4VDivisionParameterisation.cc.

101{
102#ifdef G4DIVDEBUG
103 G4cout << " G4VDivisionParameterisation::CalculateNDiv: "
104 << ( motherDim - offset ) / width
105 << " Motherdim: " << motherDim << ", Offset: " << offset
106 << ", Width: " << width << G4endl;
107#endif
108
109 return G4int( ( motherDim - offset ) / width );
110}
int G4int
Definition: G4Types.hh:85

References G4cout, and G4endl.

Referenced by G4ParameterisationBoxX::G4ParameterisationBoxX(), G4ParameterisationBoxY::G4ParameterisationBoxY(), G4ParameterisationBoxZ::G4ParameterisationBoxZ(), G4ParameterisationConsPhi::G4ParameterisationConsPhi(), G4ParameterisationConsRho::G4ParameterisationConsRho(), G4ParameterisationConsZ::G4ParameterisationConsZ(), G4ParameterisationParaX::G4ParameterisationParaX(), G4ParameterisationParaY::G4ParameterisationParaY(), G4ParameterisationParaZ::G4ParameterisationParaZ(), G4ParameterisationPolyconePhi::G4ParameterisationPolyconePhi(), G4ParameterisationPolyconeRho::G4ParameterisationPolyconeRho(), G4ParameterisationPolyconeZ::G4ParameterisationPolyconeZ(), G4ParameterisationPolyhedraRho::G4ParameterisationPolyhedraRho(), G4ParameterisationPolyhedraZ::G4ParameterisationPolyhedraZ(), G4ParameterisationTrdX::G4ParameterisationTrdX(), G4ParameterisationTrdY::G4ParameterisationTrdY(), G4ParameterisationTrdZ::G4ParameterisationTrdZ(), G4ParameterisationTubsPhi::G4ParameterisationTubsPhi(), G4ParameterisationTubsRho::G4ParameterisationTubsRho(), and G4ParameterisationTubsZ::G4ParameterisationTubsZ().

◆ CalculateWidth()

G4double G4VDivisionParameterisation::CalculateWidth ( G4double  motherDim,
G4int  nDiv,
G4double  offset 
) const
protectedinherited

Definition at line 114 of file G4VDivisionParameterisation.cc.

116{
117#ifdef G4DIVDEBUG
118 G4cout << " G4VDivisionParameterisation::CalculateWidth: "
119 << ( motherDim - offset ) / nDiv
120 << ", Motherdim: " << motherDim << ", Offset: " << offset
121 << ", Number of divisions: " << nDiv << G4endl;
122#endif
123
124 return ( motherDim - offset ) / nDiv;
125}

References G4cout, and G4endl.

Referenced by G4ParameterisationConsRho::ComputeDimensions(), G4ParameterisationPolyconeRho::ComputeDimensions(), G4ParameterisationPolyhedraRho::ComputeDimensions(), G4ParameterisationBoxX::G4ParameterisationBoxX(), G4ParameterisationBoxY::G4ParameterisationBoxY(), G4ParameterisationBoxZ::G4ParameterisationBoxZ(), G4ParameterisationConsPhi::G4ParameterisationConsPhi(), G4ParameterisationConsRho::G4ParameterisationConsRho(), G4ParameterisationConsZ::G4ParameterisationConsZ(), G4ParameterisationParaX::G4ParameterisationParaX(), G4ParameterisationParaY::G4ParameterisationParaY(), G4ParameterisationParaZ::G4ParameterisationParaZ(), G4ParameterisationPolyconePhi::G4ParameterisationPolyconePhi(), G4ParameterisationPolyconeRho::G4ParameterisationPolyconeRho(), G4ParameterisationPolyhedraPhi(), G4ParameterisationPolyhedraRho::G4ParameterisationPolyhedraRho(), G4ParameterisationTrdX::G4ParameterisationTrdX(), G4ParameterisationTrdY::G4ParameterisationTrdY(), G4ParameterisationTrdZ::G4ParameterisationTrdZ(), G4ParameterisationTubsPhi::G4ParameterisationTubsPhi(), G4ParameterisationTubsRho::G4ParameterisationTubsRho(), and G4ParameterisationTubsZ::G4ParameterisationTubsZ().

◆ ChangeRotMatrix()

void G4VDivisionParameterisation::ChangeRotMatrix ( G4VPhysicalVolume *  physVol,
G4double  rotZ = 0.0 
) const
protectedinherited

◆ CheckNDivAndWidth()

void G4VDivisionParameterisation::CheckNDivAndWidth ( G4double  maxPar)
protectedinherited

Definition at line 151 of file G4VDivisionParameterisation.cc.

152{
154 && (foffset + fwidth*fnDiv - maxPar > kCarTolerance ) )
155 {
156 std::ostringstream message;
157 message << "Configuration not supported." << G4endl
158 << "Division of solid " << fmotherSolid->GetName()
159 << " has too big offset + width*nDiv = " << G4endl
160 << " " << foffset + fwidth*fnDiv << " > "
161 << foffset << ". Width = "
162 << G4endl
163 << " " << fwidth << ". nDiv = " << fnDiv << " !";
164 G4Exception("G4VDivisionParameterisation::CheckNDivAndWidth()",
165 "GeomDiv0001", FatalException, message);
166 }
167}
@ FatalException
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
Definition: G4Exception.cc:35
G4String GetName() const

References DivNDIVandWIDTH, FatalException, G4VDivisionParameterisation::fDivisionType, G4VDivisionParameterisation::fmotherSolid, G4VDivisionParameterisation::fnDiv, G4VDivisionParameterisation::foffset, G4VDivisionParameterisation::fwidth, G4endl, G4Exception(), G4VSolid::GetName(), and G4VDivisionParameterisation::kCarTolerance.

Referenced by G4VDivisionParameterisation::CheckParametersValidity().

◆ CheckOffset()

void G4VDivisionParameterisation::CheckOffset ( G4double  maxPar)
protectedinherited

Definition at line 136 of file G4VDivisionParameterisation.cc.

137{
138 if( foffset >= maxPar )
139 {
140 std::ostringstream message;
141 message << "Configuration not supported." << G4endl
142 << "Division of solid " << fmotherSolid->GetName()
143 << " has too big offset = " << G4endl
144 << " " << foffset << " > " << maxPar << " !";
145 G4Exception("G4VDivisionParameterisation::CheckOffset()",
146 "GeomDiv0001", FatalException, message);
147 }
148}

References FatalException, G4VDivisionParameterisation::fmotherSolid, G4VDivisionParameterisation::foffset, G4endl, G4Exception(), and G4VSolid::GetName().

Referenced by G4VDivisionParameterisation::CheckParametersValidity().

◆ CheckParametersValidity()

void G4ParameterisationPolyhedraPhi::CheckParametersValidity ( )
virtual

Reimplemented from G4VDivisionParameterisation.

Definition at line 326 of file G4ParameterisationPolyhedra.cc.

327{
329
331
333 {
334 std::ostringstream message;
335 message << "In solid " << msol->GetName() << G4endl
336 << " Division along PHI will be done splitting "
337 << "in the defined numSide." << G4endl
338 << "WIDTH will not be used !";
339 G4Exception("G4ParameterisationPolyhedraPhi::CheckParametersValidity()",
340 "GeomDiv1001", JustWarning, message);
341 }
342 if( foffset != 0. )
343 {
344 std::ostringstream message;
345 message << "In solid " << msol->GetName() << G4endl
346 << "Division along PHI will be done splitting "
347 << "in the defined numSide." << G4endl
348 << "OFFSET will not be used !";
349 G4Exception("G4ParameterisationPolyhedraPhi::CheckParametersValidity()",
350 "GeomDiv1001", JustWarning, message);
351 }
352
353 G4PolyhedraHistorical* origparamMother = msol->GetOriginalParameters();
354
355 if( origparamMother->numSide != fnDiv && fDivisionType != DivWIDTH)
356 {
357 std::ostringstream message;
358 message << "Configuration not supported." << G4endl
359 << "Division along PHI will be done splitting in the defined"
360 << G4endl
361 << "numSide, i.e, the number of division would be :"
362 << origparamMother->numSide << " instead of " << fnDiv << " !";
363 G4Exception("G4ParameterisationPolyhedraPhi::CheckParametersValidity()",
364 "GeomDiv0001", FatalException, message);
365 }
366}
@ JustWarning
G4PolyhedraHistorical * GetOriginalParameters() const

References G4VDivisionParameterisation::CheckParametersValidity(), DivNDIVandWIDTH, DivWIDTH, FatalException, G4VDivisionParameterisation::fDivisionType, G4VDivisionParameterisation::fmotherSolid, G4VDivisionParameterisation::fnDiv, G4VDivisionParameterisation::foffset, G4endl, G4Exception(), G4VSolid::GetName(), G4Polyhedra::GetOriginalParameters(), JustWarning, and G4PolyhedraHistorical::numSide.

Referenced by G4ParameterisationPolyhedraPhi().

◆ ComputeDimensions() [1/13]

void G4ParameterisationPolyhedraPhi::ComputeDimensions ( G4Box &  ,
const  G4int,
const G4VPhysicalVolume *   
) const
inlineprivatevirtual

Reimplemented from G4VPVParameterisation.

Definition at line 155 of file G4ParameterisationPolyhedra.hh.

156 {}

◆ ComputeDimensions() [2/13]

void G4ParameterisationPolyhedraPhi::ComputeDimensions ( G4Cons &  ,
const  G4int,
const G4VPhysicalVolume *   
) const
inlineprivatevirtual

Reimplemented from G4VPVParameterisation.

Definition at line 171 of file G4ParameterisationPolyhedra.hh.

172 {}

◆ ComputeDimensions() [3/13]

void G4ParameterisationPolyhedraPhi::ComputeDimensions ( G4Ellipsoid &  ,
const  G4int,
const G4VPhysicalVolume *   
) const
inlineprivatevirtual

Reimplemented from G4VPVParameterisation.

Definition at line 161 of file G4ParameterisationPolyhedra.hh.

162 {}

◆ ComputeDimensions() [4/13]

void G4ParameterisationPolyhedraPhi::ComputeDimensions ( G4Hype &  ,
const  G4int,
const G4VPhysicalVolume *   
) const
inlineprivatevirtual

Reimplemented from G4VPVParameterisation.

Definition at line 167 of file G4ParameterisationPolyhedra.hh.

168 {}

◆ ComputeDimensions() [5/13]

void G4ParameterisationPolyhedraPhi::ComputeDimensions ( G4Orb &  ,
const  G4int,
const G4VPhysicalVolume *   
) const
inlineprivatevirtual

Reimplemented from G4VPVParameterisation.

Definition at line 159 of file G4ParameterisationPolyhedra.hh.

160 {}

◆ ComputeDimensions() [6/13]

void G4ParameterisationPolyhedraPhi::ComputeDimensions ( G4Para &  ,
const  G4int,
const G4VPhysicalVolume *   
) const
inlineprivatevirtual

Reimplemented from G4VPVParameterisation.

Definition at line 165 of file G4ParameterisationPolyhedra.hh.

166 {}

◆ ComputeDimensions() [7/13]

void G4ParameterisationPolyhedraPhi::ComputeDimensions ( G4Polycone &  ,
const  G4int,
const G4VPhysicalVolume *   
) const
inlineprivatevirtual

Reimplemented from G4VPVParameterisation.

Definition at line 173 of file G4ParameterisationPolyhedra.hh.

174 {}

◆ ComputeDimensions() [8/13]

void G4ParameterisationPolyhedraPhi::ComputeDimensions ( G4Polyhedra &  phedra,
const G4int  copyNo,
const G4VPhysicalVolume *  physVol 
) const
virtual

Reimplemented from G4VPVParameterisation.

Definition at line 406 of file G4ParameterisationPolyhedra.cc.

409{
411
412 G4PolyhedraHistorical* origparamMother = msol->GetOriginalParameters();
413 G4PolyhedraHistorical origparam( *origparamMother );
414
415 origparam.numSide = 1;
416 origparam.Start_angle = origparamMother->Start_angle;
417 origparam.Opening_angle = fwidth;
418
419 phedra.SetOriginalParameters(&origparam); // copy values & transfer pointers
420 phedra.Reset(); // reset to new solid parameters
421
422#ifdef G4DIVDEBUG
423 if( verbose >= 2 )
424 {
425 G4cout << "G4ParameterisationPolyhedraPhi::ComputeDimensions():" << G4endl;
426 phedra.DumpInfo();
427 }
428#endif
429}
void SetOriginalParameters(G4PolyhedraHistorical *pars)
G4bool Reset()
Definition: G4Polyhedra.cc:463
void DumpInfo() const

References G4VSolid::DumpInfo(), G4VDivisionParameterisation::fmotherSolid, G4VDivisionParameterisation::fwidth, G4cout, G4endl, G4Polyhedra::GetOriginalParameters(), G4PolyhedraHistorical::numSide, G4PolyhedraHistorical::Opening_angle, G4Polyhedra::Reset(), G4Polyhedra::SetOriginalParameters(), G4PolyhedraHistorical::Start_angle, and G4VDivisionParameterisation::verbose.

◆ ComputeDimensions() [9/13]

void G4ParameterisationPolyhedraPhi::ComputeDimensions ( G4Sphere &  ,
const  G4int,
const G4VPhysicalVolume *   
) const
inlineprivatevirtual

Reimplemented from G4VPVParameterisation.

Definition at line 157 of file G4ParameterisationPolyhedra.hh.

158 {}

◆ ComputeDimensions() [10/13]

void G4ParameterisationPolyhedraPhi::ComputeDimensions ( G4Torus &  ,
const  G4int,
const G4VPhysicalVolume *   
) const
inlineprivatevirtual

Reimplemented from G4VPVParameterisation.

Definition at line 163 of file G4ParameterisationPolyhedra.hh.

164 {}

◆ ComputeDimensions() [11/13]

void G4ParameterisationPolyhedraPhi::ComputeDimensions ( G4Trap &  ,
const  G4int,
const G4VPhysicalVolume *   
) const
inlineprivatevirtual

Reimplemented from G4VPVParameterisation.

Definition at line 153 of file G4ParameterisationPolyhedra.hh.

154 {}

◆ ComputeDimensions() [12/13]

void G4ParameterisationPolyhedraPhi::ComputeDimensions ( G4Trd &  ,
const  G4int,
const G4VPhysicalVolume *   
) const
inlineprivatevirtual

Reimplemented from G4VPVParameterisation.

Definition at line 151 of file G4ParameterisationPolyhedra.hh.

152 {}

◆ ComputeDimensions() [13/13]

void G4ParameterisationPolyhedraPhi::ComputeDimensions ( G4Tubs &  ,
const  G4int,
const G4VPhysicalVolume *   
) const
inlineprivatevirtual

Reimplemented from G4VPVParameterisation.

Definition at line 169 of file G4ParameterisationPolyhedra.hh.

170 {}

◆ ComputeMaterial()

G4Material * G4VPVParameterisation::ComputeMaterial ( const G4int  repNo,
G4VPhysicalVolume *  currentVol,
const G4VTouchable *  parentTouch = nullptr 
)
virtualinherited

◆ ComputeSolid()

G4VSolid * G4VDivisionParameterisation::ComputeSolid ( const G4int  i,
G4VPhysicalVolume *  pv 
)
virtualinherited

Reimplemented from G4VPVParameterisation.

Definition at line 72 of file G4VDivisionParameterisation.cc.

74{
76 if (solid->GetEntityType() == "G4ReflectedSolid")
77 {
78 solid = ((G4ReflectedSolid*)solid)->GetConstituentMovedSolid();
79 }
80 return solid;
81}
virtual G4VSolid * ComputeSolid(const G4int, G4VPhysicalVolume *)
virtual G4GeometryType GetEntityType() const =0

References G4VPVParameterisation::ComputeSolid(), and G4VSolid::GetEntityType().

◆ ComputeTransformation()

void G4ParameterisationPolyhedraPhi::ComputeTransformation ( const G4int  copyNo,
G4VPhysicalVolume *  physVol 
) const
virtual

Implements G4VDivisionParameterisation.

Definition at line 370 of file G4ParameterisationPolyhedra.cc.

372{
373 //----- translation
374 G4ThreeVector origin(0.,0.,0.);
375 //----- set translation
376 physVol->SetTranslation( origin );
377
378 //----- calculate rotation matrix (so that all volumes point to the centre)
379 G4double posi = copyNo*fwidth;
380
381#ifdef G4DIVDEBUG
382 if( verbose >= 2 )
383 {
384 G4cout << " G4ParameterisationPolyhedraPhi - position: " << posi/CLHEP::deg
385 << G4endl
386 << " copyNo: " << copyNo
387 << " - fwidth: " << fwidth/CLHEP::deg << G4endl;
388 }
389#endif
390
391 ChangeRotMatrix( physVol, -posi );
392
393#ifdef G4DIVDEBUG
394 if( verbose >= 2 )
395 {
396 G4cout << std::setprecision(8) << " G4ParameterisationPolyhedraPhi "
397 << copyNo << G4endl
398 << " Position: " << origin << " - Width: " << fwidth
399 << " - Axis: " << faxis << G4endl;
400 }
401#endif
402}
void ChangeRotMatrix(G4VPhysicalVolume *physVol, G4double rotZ=0.0) const
void SetTranslation(const G4ThreeVector &v)
static constexpr double deg

References G4VDivisionParameterisation::ChangeRotMatrix(), CLHEP::deg, G4VDivisionParameterisation::faxis, G4VDivisionParameterisation::fwidth, G4cout, G4endl, G4VPhysicalVolume::SetTranslation(), and G4VDivisionParameterisation::verbose.

◆ ConvertRadiusFactor()

G4double G4VParameterisationPolyhedra::ConvertRadiusFactor ( const G4Polyhedra &  phedra) const
privateinherited

Definition at line 121 of file G4ParameterisationPolyhedra.cc.

123{
124 G4double phiTotal = phedra.GetEndPhi() - phedra.GetStartPhi();
125 G4int nofSides = phedra.GetOriginalParameters()->numSide;
126
127 if ( (phiTotal <=0) || (phiTotal >
128 2*pi+G4GeometryTolerance::GetInstance()->GetAngularTolerance()) )
129 { phiTotal = 2*pi; }
130
131 return std::cos(0.5*phiTotal/nofSides);
132}
static constexpr double pi
Definition: G4SIunits.hh:55
static G4GeometryTolerance * GetInstance()

References G4Polyhedra::GetEndPhi(), G4GeometryTolerance::GetInstance(), G4Polyhedra::GetOriginalParameters(), G4Polyhedra::GetStartPhi(), G4PolyhedraHistorical::numSide, and pi.

Referenced by G4VParameterisationPolyhedra::G4VParameterisationPolyhedra().

◆ GetAxis()

EAxis G4VDivisionParameterisation::GetAxis ( ) const
inlineinherited

◆ GetHalfGap()

G4double G4VDivisionParameterisation::GetHalfGap ( ) const
inlineinherited

◆ GetMaterialScanner()

G4VVolumeMaterialScanner * G4VPVParameterisation::GetMaterialScanner ( )
virtualinherited

Reimplemented in G4VNestedParameterisation.

Definition at line 62 of file G4VPVParameterisation.cc.

63{
64 return nullptr;
65}

Referenced by G4Region::ScanVolumeTree().

◆ GetMaxParameter()

G4double G4ParameterisationPolyhedraPhi::GetMaxParameter ( ) const
virtual

◆ GetMotherSolid()

G4VSolid * G4VDivisionParameterisation::GetMotherSolid ( ) const
inlineinherited

◆ GetNoDiv()

G4int G4VDivisionParameterisation::GetNoDiv ( ) const
inlineinherited

◆ GetOffset()

G4double G4VDivisionParameterisation::GetOffset ( ) const
inlineinherited

◆ GetType()

const G4String & G4VDivisionParameterisation::GetType ( ) const
inlineinherited

◆ GetWidth()

G4double G4VDivisionParameterisation::GetWidth ( ) const
inlineinherited

◆ IsNested()

G4bool G4VPVParameterisation::IsNested ( ) const
virtualinherited

◆ OffsetZ()

G4double G4VDivisionParameterisation::OffsetZ ( ) const
protectedinherited

◆ SetHalfGap()

void G4VDivisionParameterisation::SetHalfGap ( G4double  hg)
inlineinherited

◆ SetType()

void G4VDivisionParameterisation::SetType ( const G4String &  type)
inlineinherited

◆ VolumeFirstCopyNo()

G4int G4VDivisionParameterisation::VolumeFirstCopyNo ( ) const
inlineinherited

Field Documentation

◆ faxis

EAxis G4VDivisionParameterisation::faxis
protectedinherited

◆ fDeleteSolid

G4bool G4VDivisionParameterisation::fDeleteSolid = false
protectedinherited

◆ fDivisionType

DivisionType G4VDivisionParameterisation::fDivisionType
protectedinherited

◆ fhgap

G4double G4VDivisionParameterisation::fhgap = 0.0
protectedinherited

◆ fmotherSolid

G4VSolid* G4VDivisionParameterisation::fmotherSolid = nullptr
protectedinherited

Definition at line 99 of file G4VDivisionParameterisation.hh.

Referenced by G4VDivisionParameterisation::CheckNDivAndWidth(), G4VDivisionParameterisation::CheckOffset(), G4ParameterisationPolyconeRho::CheckParametersValidity(), G4ParameterisationPolyconeZ::CheckParametersValidity(), G4ParameterisationPolyhedraRho::CheckParametersValidity(), CheckParametersValidity(), G4ParameterisationPolyhedraZ::CheckParametersValidity(), G4ParameterisationBoxX::ComputeDimensions(), G4ParameterisationBoxY::ComputeDimensions(), G4ParameterisationBoxZ::ComputeDimensions(), G4ParameterisationConsRho::ComputeDimensions(), G4ParameterisationConsPhi::ComputeDimensions(), G4ParameterisationConsZ::ComputeDimensions(), G4ParameterisationParaX::ComputeDimensions(), G4ParameterisationParaY::ComputeDimensions(), G4ParameterisationParaZ::ComputeDimensions(), G4ParameterisationPolyconeRho::ComputeDimensions(), G4ParameterisationPolyconePhi::ComputeDimensions(), G4ParameterisationPolyhedraRho::ComputeDimensions(), ComputeDimensions(), G4ParameterisationTrdX::ComputeDimensions(), G4ParameterisationTrdY::ComputeDimensions(), G4ParameterisationTrdZ::ComputeDimensions(), G4ParameterisationTubsRho::ComputeDimensions(), G4ParameterisationTubsPhi::ComputeDimensions(), G4ParameterisationTubsZ::ComputeDimensions(), G4ParameterisationBoxX::ComputeTransformation(), G4ParameterisationBoxY::ComputeTransformation(), G4ParameterisationBoxZ::ComputeTransformation(), G4ParameterisationParaX::ComputeTransformation(), G4ParameterisationParaY::ComputeTransformation(), G4ParameterisationParaZ::ComputeTransformation(), G4ParameterisationTrdX::ComputeTransformation(), G4ParameterisationTrdY::ComputeTransformation(), G4ParameterisationTrdZ::ComputeTransformation(), G4ParameterisationTubsZ::ComputeTransformation(), G4ParameterisationBoxX::G4ParameterisationBoxX(), G4ParameterisationBoxY::G4ParameterisationBoxY(), G4ParameterisationBoxZ::G4ParameterisationBoxZ(), G4ParameterisationConsPhi::G4ParameterisationConsPhi(), G4ParameterisationConsRho::G4ParameterisationConsRho(), G4ParameterisationConsZ::G4ParameterisationConsZ(), G4ParameterisationParaX::G4ParameterisationParaX(), G4ParameterisationParaY::G4ParameterisationParaY(), G4ParameterisationParaZ::G4ParameterisationParaZ(), G4ParameterisationPolyconePhi::G4ParameterisationPolyconePhi(), G4ParameterisationPolyconeRho::G4ParameterisationPolyconeRho(), G4ParameterisationPolyhedraPhi(), G4ParameterisationPolyhedraRho::G4ParameterisationPolyhedraRho(), G4ParameterisationTrdX::G4ParameterisationTrdX(), G4ParameterisationTrdY::G4ParameterisationTrdY(), G4ParameterisationTrdZ::G4ParameterisationTrdZ(), G4ParameterisationTubsPhi::G4ParameterisationTubsPhi(), G4ParameterisationTubsRho::G4ParameterisationTubsRho(), G4ParameterisationTubsZ::G4ParameterisationTubsZ(), G4VParameterisationBox::G4VParameterisationBox(), G4VParameterisationCons::G4VParameterisationCons(), G4VParameterisationPara::G4VParameterisationPara(), G4VParameterisationPolycone::G4VParameterisationPolycone(), G4VParameterisationPolyhedra::G4VParameterisationPolyhedra(), G4VParameterisationTrd::G4VParameterisationTrd(), G4VParameterisationTubs::G4VParameterisationTubs(), G4ParameterisationBoxX::GetMaxParameter(), G4ParameterisationBoxY::GetMaxParameter(), G4ParameterisationBoxZ::GetMaxParameter(), G4ParameterisationConsRho::GetMaxParameter(), G4ParameterisationConsPhi::GetMaxParameter(), G4ParameterisationConsZ::GetMaxParameter(), G4ParameterisationParaX::GetMaxParameter(), G4ParameterisationParaY::GetMaxParameter(), G4ParameterisationParaZ::GetMaxParameter(), G4ParameterisationPolyconeRho::GetMaxParameter(), G4ParameterisationPolyconePhi::GetMaxParameter(), G4ParameterisationPolyhedraRho::GetMaxParameter(), GetMaxParameter(), G4ParameterisationTrdX::GetMaxParameter(), G4ParameterisationTrdY::GetMaxParameter(), G4ParameterisationTrdZ::GetMaxParameter(), G4ParameterisationTubsRho::GetMaxParameter(), G4ParameterisationTubsPhi::GetMaxParameter(), G4ParameterisationTubsZ::GetMaxParameter(), and G4VDivisionParameterisation::~G4VDivisionParameterisation().

◆ fnDiv

G4int G4VDivisionParameterisation::fnDiv = 0
protectedinherited

Definition at line 95 of file G4VDivisionParameterisation.hh.

Referenced by G4VDivisionParameterisation::CheckNDivAndWidth(), G4ParameterisationPolyconeZ::CheckParametersValidity(), CheckParametersValidity(), G4ParameterisationPolyhedraZ::CheckParametersValidity(), G4ParameterisationConsRho::ComputeDimensions(), G4ParameterisationPolyconeRho::ComputeDimensions(), G4ParameterisationPolyhedraRho::ComputeDimensions(), G4ParameterisationBoxX::G4ParameterisationBoxX(), G4ParameterisationBoxY::G4ParameterisationBoxY(), G4ParameterisationBoxZ::G4ParameterisationBoxZ(), G4ParameterisationConsPhi::G4ParameterisationConsPhi(), G4ParameterisationConsRho::G4ParameterisationConsRho(), G4ParameterisationConsZ::G4ParameterisationConsZ(), G4ParameterisationParaX::G4ParameterisationParaX(), G4ParameterisationParaY::G4ParameterisationParaY(), G4ParameterisationParaZ::G4ParameterisationParaZ(), G4ParameterisationPolyconePhi::G4ParameterisationPolyconePhi(), G4ParameterisationPolyconeRho::G4ParameterisationPolyconeRho(), G4ParameterisationPolyconeZ::G4ParameterisationPolyconeZ(), G4ParameterisationPolyhedraPhi(), G4ParameterisationPolyhedraRho::G4ParameterisationPolyhedraRho(), G4ParameterisationPolyhedraZ::G4ParameterisationPolyhedraZ(), G4ParameterisationTrdX::G4ParameterisationTrdX(), G4ParameterisationTrdY::G4ParameterisationTrdY(), G4ParameterisationTrdZ::G4ParameterisationTrdZ(), G4ParameterisationTubsPhi::G4ParameterisationTubsPhi(), G4ParameterisationTubsRho::G4ParameterisationTubsRho(), G4ParameterisationTubsZ::G4ParameterisationTubsZ(), G4VDivisionParameterisation::G4VDivisionParameterisation(), and G4VDivisionParameterisation::OffsetZ().

◆ foffset

G4double G4VDivisionParameterisation::foffset = 0.0
protectedinherited

Definition at line 97 of file G4VDivisionParameterisation.hh.

Referenced by G4VDivisionParameterisation::CheckNDivAndWidth(), G4VDivisionParameterisation::CheckOffset(), G4ParameterisationPolyconeRho::CheckParametersValidity(), G4ParameterisationPolyconeZ::CheckParametersValidity(), G4ParameterisationPolyhedraRho::CheckParametersValidity(), CheckParametersValidity(), G4ParameterisationPolyhedraZ::CheckParametersValidity(), G4ParameterisationConsRho::ComputeDimensions(), G4ParameterisationConsPhi::ComputeDimensions(), G4ParameterisationPolyconeRho::ComputeDimensions(), G4ParameterisationPolyconeZ::ComputeDimensions(), G4ParameterisationPolyhedraRho::ComputeDimensions(), G4ParameterisationPolyhedraZ::ComputeDimensions(), G4ParameterisationTrdY::ComputeDimensions(), G4ParameterisationTrdX::ComputeDimensions(), G4ParameterisationTubsRho::ComputeDimensions(), G4ParameterisationBoxX::ComputeTransformation(), G4ParameterisationBoxY::ComputeTransformation(), G4ParameterisationConsRho::ComputeTransformation(), G4ParameterisationConsPhi::ComputeTransformation(), G4ParameterisationConsZ::ComputeTransformation(), G4ParameterisationParaX::ComputeTransformation(), G4ParameterisationParaY::ComputeTransformation(), G4ParameterisationPolyconeRho::ComputeTransformation(), G4ParameterisationPolyconePhi::ComputeTransformation(), G4ParameterisationPolyconeZ::ComputeTransformation(), G4ParameterisationPolyhedraRho::ComputeTransformation(), G4ParameterisationPolyhedraZ::ComputeTransformation(), G4ParameterisationTrdX::ComputeTransformation(), G4ParameterisationTrdY::ComputeTransformation(), G4ParameterisationTrdZ::ComputeTransformation(), G4ParameterisationTubsRho::ComputeTransformation(), G4ParameterisationTubsPhi::ComputeTransformation(), G4ParameterisationTubsZ::ComputeTransformation(), G4ParameterisationBoxX::G4ParameterisationBoxX(), G4ParameterisationBoxY::G4ParameterisationBoxY(), G4ParameterisationBoxZ::G4ParameterisationBoxZ(), G4ParameterisationConsPhi::G4ParameterisationConsPhi(), G4ParameterisationConsRho::G4ParameterisationConsRho(), G4ParameterisationConsZ::G4ParameterisationConsZ(), G4ParameterisationParaX::G4ParameterisationParaX(), G4ParameterisationParaY::G4ParameterisationParaY(), G4ParameterisationParaZ::G4ParameterisationParaZ(), G4ParameterisationPolyconePhi::G4ParameterisationPolyconePhi(), G4ParameterisationPolyconeRho::G4ParameterisationPolyconeRho(), G4ParameterisationPolyconeZ::G4ParameterisationPolyconeZ(), G4ParameterisationPolyhedraPhi(), G4ParameterisationPolyhedraRho::G4ParameterisationPolyhedraRho(), G4ParameterisationPolyhedraZ::G4ParameterisationPolyhedraZ(), G4ParameterisationTrdX::G4ParameterisationTrdX(), G4ParameterisationTrdY::G4ParameterisationTrdY(), G4ParameterisationTrdZ::G4ParameterisationTrdZ(), G4ParameterisationTubsPhi::G4ParameterisationTubsPhi(), G4ParameterisationTubsRho::G4ParameterisationTubsRho(), G4ParameterisationTubsZ::G4ParameterisationTubsZ(), G4VDivisionParameterisation::G4VDivisionParameterisation(), and G4VDivisionParameterisation::OffsetZ().

◆ fReflectedSolid

G4bool G4VDivisionParameterisation::fReflectedSolid = false
protectedinherited

◆ fRot

G4ThreadLocal G4RotationMatrix * G4VDivisionParameterisation::fRot = nullptr
staticprotectedinherited

◆ ftype

G4String G4VDivisionParameterisation::ftype
protectedinherited

Definition at line 93 of file G4VDivisionParameterisation.hh.

◆ fwidth

G4double G4VDivisionParameterisation::fwidth = 0.0
protectedinherited

Definition at line 96 of file G4VDivisionParameterisation.hh.

Referenced by G4VDivisionParameterisation::CheckNDivAndWidth(), G4ParameterisationPolyconeZ::CheckParametersValidity(), G4ParameterisationPolyhedraZ::CheckParametersValidity(), G4ParameterisationBoxX::ComputeDimensions(), G4ParameterisationBoxY::ComputeDimensions(), G4ParameterisationBoxZ::ComputeDimensions(), G4ParameterisationConsRho::ComputeDimensions(), G4ParameterisationConsPhi::ComputeDimensions(), G4ParameterisationConsZ::ComputeDimensions(), G4ParameterisationParaX::ComputeDimensions(), G4ParameterisationParaY::ComputeDimensions(), G4ParameterisationParaZ::ComputeDimensions(), G4ParameterisationPolyconePhi::ComputeDimensions(), G4ParameterisationPolyconeZ::ComputeDimensions(), ComputeDimensions(), G4ParameterisationPolyhedraZ::ComputeDimensions(), G4ParameterisationTrdX::ComputeDimensions(), G4ParameterisationTrdY::ComputeDimensions(), G4ParameterisationTrdZ::ComputeDimensions(), G4ParameterisationTubsRho::ComputeDimensions(), G4ParameterisationTubsPhi::ComputeDimensions(), G4ParameterisationTubsZ::ComputeDimensions(), G4ParameterisationBoxX::ComputeTransformation(), G4ParameterisationBoxY::ComputeTransformation(), G4ParameterisationBoxZ::ComputeTransformation(), G4ParameterisationConsRho::ComputeTransformation(), G4ParameterisationConsPhi::ComputeTransformation(), G4ParameterisationConsZ::ComputeTransformation(), G4ParameterisationParaX::ComputeTransformation(), G4ParameterisationParaY::ComputeTransformation(), G4ParameterisationParaZ::ComputeTransformation(), G4ParameterisationPolyconeRho::ComputeTransformation(), G4ParameterisationPolyconePhi::ComputeTransformation(), G4ParameterisationPolyconeZ::ComputeTransformation(), G4ParameterisationPolyhedraRho::ComputeTransformation(), ComputeTransformation(), G4ParameterisationPolyhedraZ::ComputeTransformation(), G4ParameterisationTrdX::ComputeTransformation(), G4ParameterisationTrdY::ComputeTransformation(), G4ParameterisationTrdZ::ComputeTransformation(), G4ParameterisationTubsRho::ComputeTransformation(), G4ParameterisationTubsPhi::ComputeTransformation(), G4ParameterisationTubsZ::ComputeTransformation(), G4ParameterisationBoxX::G4ParameterisationBoxX(), G4ParameterisationBoxY::G4ParameterisationBoxY(), G4ParameterisationBoxZ::G4ParameterisationBoxZ(), G4ParameterisationConsPhi::G4ParameterisationConsPhi(), G4ParameterisationConsRho::G4ParameterisationConsRho(), G4ParameterisationConsZ::G4ParameterisationConsZ(), G4ParameterisationParaX::G4ParameterisationParaX(), G4ParameterisationParaY::G4ParameterisationParaY(), G4ParameterisationParaZ::G4ParameterisationParaZ(), G4ParameterisationPolyconePhi::G4ParameterisationPolyconePhi(), G4ParameterisationPolyconeRho::G4ParameterisationPolyconeRho(), G4ParameterisationPolyconeZ::G4ParameterisationPolyconeZ(), G4ParameterisationPolyhedraPhi(), G4ParameterisationPolyhedraRho::G4ParameterisationPolyhedraRho(), G4ParameterisationPolyhedraZ::G4ParameterisationPolyhedraZ(), G4ParameterisationTrdX::G4ParameterisationTrdX(), G4ParameterisationTrdY::G4ParameterisationTrdY(), G4ParameterisationTrdZ::G4ParameterisationTrdZ(), G4ParameterisationTubsPhi::G4ParameterisationTubsPhi(), G4ParameterisationTubsRho::G4ParameterisationTubsRho(), G4ParameterisationTubsZ::G4ParameterisationTubsZ(), G4VDivisionParameterisation::G4VDivisionParameterisation(), and G4VDivisionParameterisation::OffsetZ().

◆ kCarTolerance

G4double G4VDivisionParameterisation::kCarTolerance
protectedinherited

◆ theVoluFirstCopyNo

G4int G4VDivisionParameterisation::theVoluFirstCopyNo = 1
protectedinherited

Definition at line 106 of file G4VDivisionParameterisation.hh.

◆ verbose

const G4int G4VDivisionParameterisation::verbose = 5
staticprotectedinherited

Definition at line 105 of file G4VDivisionParameterisation.hh.

Referenced by G4ParameterisationBoxX::ComputeDimensions(), G4ParameterisationBoxY::ComputeDimensions(), G4ParameterisationBoxZ::ComputeDimensions(), G4ParameterisationConsRho::ComputeDimensions(), G4ParameterisationConsPhi::ComputeDimensions(), G4ParameterisationConsZ::ComputeDimensions(), G4ParameterisationParaX::ComputeDimensions(), G4ParameterisationParaY::ComputeDimensions(), G4ParameterisationParaZ::ComputeDimensions(), G4ParameterisationPolyconeRho::ComputeDimensions(), G4ParameterisationPolyconePhi::ComputeDimensions(), G4ParameterisationPolyconeZ::ComputeDimensions(), G4ParameterisationPolyhedraRho::ComputeDimensions(), ComputeDimensions(), G4ParameterisationPolyhedraZ::ComputeDimensions(), G4ParameterisationTrdX::ComputeDimensions(), G4ParameterisationTrdY::ComputeDimensions(), G4ParameterisationTrdZ::ComputeDimensions(), G4ParameterisationTubsRho::ComputeDimensions(), G4ParameterisationTubsPhi::ComputeDimensions(), G4ParameterisationTubsZ::ComputeDimensions(), G4ParameterisationBoxX::ComputeTransformation(), G4ParameterisationBoxY::ComputeTransformation(), G4ParameterisationBoxZ::ComputeTransformation(), G4ParameterisationConsRho::ComputeTransformation(), G4ParameterisationConsPhi::ComputeTransformation(), G4ParameterisationConsZ::ComputeTransformation(), G4ParameterisationParaX::ComputeTransformation(), G4ParameterisationParaY::ComputeTransformation(), G4ParameterisationParaZ::ComputeTransformation(), G4ParameterisationPolyconeRho::ComputeTransformation(), G4ParameterisationPolyconePhi::ComputeTransformation(), G4ParameterisationPolyconeZ::ComputeTransformation(), G4ParameterisationPolyhedraRho::ComputeTransformation(), ComputeTransformation(), G4ParameterisationPolyhedraZ::ComputeTransformation(), G4ParameterisationTrdX::ComputeTransformation(), G4ParameterisationTrdY::ComputeTransformation(), G4ParameterisationTrdZ::ComputeTransformation(), G4ParameterisationTubsRho::ComputeTransformation(), G4ParameterisationTubsPhi::ComputeTransformation(), G4ParameterisationTubsZ::ComputeTransformation(), G4ParameterisationBoxX::G4ParameterisationBoxX(), G4ParameterisationBoxY::G4ParameterisationBoxY(), G4ParameterisationBoxZ::G4ParameterisationBoxZ(), G4ParameterisationConsPhi::G4ParameterisationConsPhi(), G4ParameterisationConsRho::G4ParameterisationConsRho(), G4ParameterisationConsZ::G4ParameterisationConsZ(), G4ParameterisationParaX::G4ParameterisationParaX(), G4ParameterisationParaY::G4ParameterisationParaY(), G4ParameterisationParaZ::G4ParameterisationParaZ(), G4ParameterisationPolyconePhi::G4ParameterisationPolyconePhi(), G4ParameterisationPolyconeRho::G4ParameterisationPolyconeRho(), G4ParameterisationPolyconeZ::G4ParameterisationPolyconeZ(), G4ParameterisationPolyhedraPhi(), G4ParameterisationPolyhedraRho::G4ParameterisationPolyhedraRho(), G4ParameterisationPolyhedraZ::G4ParameterisationPolyhedraZ(), G4ParameterisationTrdX::G4ParameterisationTrdX(), G4ParameterisationTrdY::G4ParameterisationTrdY(), G4ParameterisationTrdZ::G4ParameterisationTrdZ(), G4ParameterisationTubsPhi::G4ParameterisationTubsPhi(), G4ParameterisationTubsRho::G4ParameterisationTubsRho(), G4ParameterisationTubsZ::G4ParameterisationTubsZ(), and G4VDivisionParameterisation::G4VDivisionParameterisation().


The documentation for this class was generated from the following files: