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

#include <G4PVParameterised.hh>

Inheritance diagram for G4PVParameterised:
G4PVReplica G4VPhysicalVolume

Public Member Functions

G4bool CheckOverlaps (G4int res=1000, G4double tol=0., G4bool verbose=true, G4int maxErr=1)
 
EVolume DeduceVolumeType () const
 
 G4PVParameterised (__void__ &)
 
 G4PVParameterised (const G4String &pName, G4LogicalVolume *pLogical, G4LogicalVolume *pMotherLogical, const EAxis pAxis, const G4int nReplicas, G4VPVParameterisation *pParam, G4bool pSurfChk=false)
 
 G4PVParameterised (const G4String &pName, G4LogicalVolume *pLogical, G4VPhysicalVolume *pMother, const EAxis pAxis, const G4int nReplicas, G4VPVParameterisation *pParam, G4bool pSurfChk=false)
 
virtual G4int GetCopyNo () const
 
const G4RotationMatrixGetFrameRotation () const
 
G4ThreeVector GetFrameTranslation () const
 
G4int GetInstanceID () const
 
G4LogicalVolumeGetLogicalVolume () const
 
G4LogicalVolumeGetMotherLogical () const
 
virtual G4int GetMultiplicity () const
 
const G4StringGetName () const
 
G4RotationMatrixGetObjectRotation () const
 
G4RotationMatrix GetObjectRotationValue () const
 
G4ThreeVector GetObjectTranslation () const
 
G4VPVParameterisationGetParameterisation () const
 
G4int GetRegularStructureId () const
 
void GetReplicationData (EAxis &axis, G4int &nReplicas, G4double &width, G4double &offset, G4bool &consuming) const
 
G4RotationMatrixGetRotation ()
 
const G4RotationMatrixGetRotation () const
 
const G4ThreeVector GetTranslation () const
 
void InitialiseWorker (G4PVReplica *pMasterObject)
 
G4bool IsMany () const
 
G4bool IsParameterised () const
 
G4bool IsRegularStructure () const
 
G4bool IsReplicated () const
 
G4bool operator== (const G4VPhysicalVolume &p) const
 
virtual void SetCopyNo (G4int CopyNo)
 
void SetLogicalVolume (G4LogicalVolume *pLogical)
 
void SetMotherLogical (G4LogicalVolume *pMother)
 
void SetName (const G4String &pName)
 
virtual void SetRegularStructureId (G4int code)
 
void SetRotation (G4RotationMatrix *)
 
void SetTranslation (const G4ThreeVector &v)
 
void TerminateWorker (G4PVReplica *pMasterObject)
 
EVolume VolumeType () const final
 
virtual ~G4PVParameterised ()
 

Static Public Member Functions

static void Clean ()
 
static const G4PVRManagerGetSubInstanceManager ()
 

Protected Member Functions

void InitialiseWorker (G4VPhysicalVolume *pMasterObject, G4RotationMatrix *pRot, const G4ThreeVector &tlate)
 
void TerminateWorker (G4VPhysicalVolume *pMasterObject)
 

Protected Attributes

EAxis faxis
 
G4int fnReplicas
 
G4double foffset
 
G4double fwidth
 

Private Member Functions

void CheckAndSetParameters (const EAxis pAxis, const G4int nReplicas, const G4double width, const G4double offset)
 
void CheckOnlyDaughter (G4LogicalVolume *pMotherLogical)
 

Private Attributes

G4LogicalVolumeflmother = nullptr
 
G4LogicalVolumeflogical = nullptr
 
G4String fname
 
G4VPVParameterisationfparam = nullptr
 
G4int fRegularVolsId = 0
 
G4int instanceID
 
G4PVDatapvdata = nullptr
 

Static Private Attributes

static G4GEOM_DLL G4PVRManager subInstanceManager
 

Detailed Description

Definition at line 42 of file G4PVParameterised.hh.

Constructor & Destructor Documentation

◆ G4PVParameterised() [1/3]

G4PVParameterised::G4PVParameterised ( const G4String pName,
G4LogicalVolume pLogical,
G4LogicalVolume pMotherLogical,
const EAxis  pAxis,
const G4int  nReplicas,
G4VPVParameterisation pParam,
G4bool  pSurfChk = false 
)

Definition at line 84 of file G4PVParameterised.cc.

91 : G4PVReplica(pName, nReplicas, pAxis, pLogical, pMotherLogical ),
92 fparam(pParam)
93{
94 SetMotherLogical( pMotherLogical );
95 if( pMotherLogical )
96 {
97 // Registration moved here to ensure that the volume is recognised as Parameterised
98 pMotherLogical->AddDaughter(this);
99 }
100 if (pSurfChk) { CheckOverlaps(); }
101}
void AddDaughter(G4VPhysicalVolume *p)
G4VPVParameterisation * fparam
G4bool CheckOverlaps(G4int res=1000, G4double tol=0., G4bool verbose=true, G4int maxErr=1)
G4PVReplica(const G4String &pName, G4LogicalVolume *pLogical, G4LogicalVolume *pMother, const EAxis pAxis, const G4int nReplicas, const G4double width, const G4double offset=0.)
Definition: G4PVReplica.cc:88
void SetMotherLogical(G4LogicalVolume *pMother)

References G4LogicalVolume::AddDaughter(), CheckOverlaps(), and G4VPhysicalVolume::SetMotherLogical().

◆ G4PVParameterised() [2/3]

G4PVParameterised::G4PVParameterised ( const G4String pName,
G4LogicalVolume pLogical,
G4VPhysicalVolume pMother,
const EAxis  pAxis,
const G4int  nReplicas,
G4VPVParameterisation pParam,
G4bool  pSurfChk = false 
)

Definition at line 41 of file G4PVParameterised.cc.

48: G4PVReplica(pName, nReplicas, pAxis, pLogical,
49 pMotherPhysical ? pMotherPhysical->GetLogicalVolume() : nullptr ),
50 fparam(pParam)
51{
52 G4LogicalVolume* motherLogical= pMotherPhysical ?
53 pMotherPhysical->GetLogicalVolume() : nullptr;
54
55 SetMotherLogical( motherLogical );
56 if( motherLogical )
57 {
58 // Registration moved here to ensure that the volume is recognised as Parameterised
59 motherLogical->AddDaughter(this);
60 }
61
62#ifdef G4VERBOSE
63 if ((pMotherPhysical != nullptr) && (pMotherPhysical->IsParameterised()))
64 {
65 std::ostringstream message, hint;
66 message << "A parameterised volume is being placed" << G4endl
67 << "inside another parameterised volume !";
68 hint << "To make sure that no overlaps are generated," << G4endl
69 << "you should verify the mother replicated shapes" << G4endl
70 << "are of the same type and dimensions." << G4endl
71 << " Mother physical volume: " << pMotherPhysical->GetName() << G4endl
72 << " Parameterised volume: " << pName << G4endl
73 << " (To switch this warning off, compile with G4_NO_VERBOSE)";
74 G4Exception("G4PVParameterised::G4PVParameterised()", "GeomVol1002",
75 JustWarning, message, G4String(hint.str()));
76 }
77#endif
78 if (pSurfChk) { CheckOverlaps(); }
79}
@ JustWarning
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
Definition: G4Exception.cc:35
#define G4endl
Definition: G4ios.hh:57

References G4LogicalVolume::AddDaughter(), CheckOverlaps(), G4endl, G4Exception(), G4VPhysicalVolume::GetLogicalVolume(), G4VPhysicalVolume::GetName(), G4VPhysicalVolume::IsParameterised(), JustWarning, and G4VPhysicalVolume::SetMotherLogical().

◆ G4PVParameterised() [3/3]

G4PVParameterised::G4PVParameterised ( __void__ &  a)

Definition at line 107 of file G4PVParameterised.cc.

108 : G4PVReplica(a)
109{
110}

◆ ~G4PVParameterised()

G4PVParameterised::~G4PVParameterised ( )
virtual

Definition at line 115 of file G4PVParameterised.cc.

116{
117}

Member Function Documentation

◆ CheckAndSetParameters()

void G4PVReplica::CheckAndSetParameters ( const EAxis  pAxis,
const G4int  nReplicas,
const G4double  width,
const G4double  offset 
)
privateinherited

Definition at line 201 of file G4PVReplica.cc.

205{
206 if (nReplicas<1)
207 {
208 G4Exception("G4PVReplica::CheckAndSetParameters()", "GeomVol0002",
209 FatalException, "Illegal number of replicas.");
210 }
211 fnReplicas=nReplicas;
212 if (width<0)
213 {
214 G4Exception("G4PVReplica::CheckAndSetParameters()", "GeomVol0002",
215 FatalException, "Width must be positive.");
216 }
217 fwidth = width;
218 foffset = offset;
219 faxis = pAxis;
220
221 // Create rotation matrix for phi axis case & check axis is valid
222 //
223 G4RotationMatrix* pRMat = nullptr;
224 switch (faxis)
225 {
226 case kPhi:
227 pRMat = new G4RotationMatrix();
228 if (pRMat == nullptr)
229 {
230 G4Exception("G4PVReplica::CheckAndSetParameters()", "GeomVol0003",
231 FatalException, "Rotation matrix allocation failed.");
232 }
233 SetRotation(pRMat);
234 break;
235 case kRho:
236 case kXAxis:
237 case kYAxis:
238 case kZAxis:
239 case kUndefined:
240 break;
241 default:
242 G4Exception("G4PVReplica::CheckAndSetParameters()", "GeomVol0002",
243 FatalException, "Unknown axis of replication.");
244 break;
245 }
246}
@ FatalException
CLHEP::HepRotation G4RotationMatrix
G4double fwidth
Definition: G4PVReplica.hh:187
G4int fnReplicas
Definition: G4PVReplica.hh:186
G4double foffset
Definition: G4PVReplica.hh:187
void SetRotation(G4RotationMatrix *)
@ kPhi
Definition: geomdefs.hh:60
@ kYAxis
Definition: geomdefs.hh:56
@ kXAxis
Definition: geomdefs.hh:55
@ kZAxis
Definition: geomdefs.hh:57
@ kUndefined
Definition: geomdefs.hh:61
@ kRho
Definition: geomdefs.hh:58

References FatalException, G4PVReplica::faxis, G4PVReplica::fnReplicas, G4PVReplica::foffset, G4PVReplica::fwidth, G4Exception(), kPhi, kRho, kUndefined, kXAxis, kYAxis, kZAxis, and G4VPhysicalVolume::SetRotation().

Referenced by G4PVReplica::G4PVReplica().

◆ CheckOnlyDaughter()

void G4PVReplica::CheckOnlyDaughter ( G4LogicalVolume pMotherLogical)
privateinherited

Definition at line 182 of file G4PVReplica.cc.

183{
184 if (pMotherLogical->GetNoDaughters() != 0)
185 {
186 std::ostringstream message;
187 message << "Replica or parameterised volume must be the only daughter !"
188 << G4endl
189 << " Mother logical volume: " << pMotherLogical->GetName()
190 << G4endl
191 << " Replicated volume: " << this->GetName() << G4endl
192 << " Existing 'sister': " << pMotherLogical->GetDaughter(0)
193 ->GetName();
194 G4Exception("G4PVReplica::G4PVReplica()", "GeomVol0002",
195 FatalException, message);
196 return;
197 }
198}
size_t GetNoDaughters() const
G4VPhysicalVolume * GetDaughter(const G4int i) const
const G4String & GetName() const
const G4String & GetName() const

References FatalException, G4endl, G4Exception(), G4LogicalVolume::GetDaughter(), G4LogicalVolume::GetName(), G4VPhysicalVolume::GetName(), and G4LogicalVolume::GetNoDaughters().

Referenced by G4PVReplica::G4PVReplica().

◆ CheckOverlaps()

G4bool G4PVParameterised::CheckOverlaps ( G4int  res = 1000,
G4double  tol = 0.,
G4bool  verbose = true,
G4int  maxErr = 1 
)
virtual

Reimplemented from G4VPhysicalVolume.

Definition at line 174 of file G4PVParameterised.cc.

176{
177 if (res<=0) { return false; }
178
179 G4int trials = 0;
180 G4bool retval = false;
181 G4VSolid *solidA = nullptr, *solidB = nullptr;
182 G4LogicalVolume* motherLog = GetMotherLogical();
183 G4VSolid *motherSolid = motherLog->GetSolid();
184 std::vector<G4ThreeVector> points;
185
186 if (verbose)
187 {
188 G4cout << "Checking overlaps for parameterised volume "
189 << GetName() << " ... ";
190 }
191
192 for (auto i=0; i<GetMultiplicity(); ++i)
193 {
194 solidA = fparam->ComputeSolid(i, this);
195 solidA->ComputeDimensions(fparam, i, this);
197
198 // Create the transformation from daughter to mother
199 //
201
202 // Generate random points on surface according to the given resolution,
203 // transform them to the mother's coordinate system and if no overlaps
204 // with the mother volume, cache them in a vector for later use with
205 // the daughters
206 //
207 for (auto n=0; n<res; ++n)
208 {
209 G4ThreeVector mp = Tm.TransformPoint(solidA->GetPointOnSurface());
210
211 // Checking overlaps with the mother volume
212 //
213 if (motherSolid->Inside(mp)==kOutside)
214 {
215 G4double distin = motherSolid->DistanceToIn(mp);
216 if (distin > tol)
217 {
218 ++trials; retval = true;
219 std::ostringstream message;
220 message << "Overlap with mother volume !" << G4endl
221 << " Overlap is detected for volume "
222 << GetName() << ", parameterised instance: " << i << G4endl
223 << " with its mother volume "
224 << motherLog->GetName() << G4endl
225 << " at mother local point " << mp << ", "
226 << "overlapping by at least: "
227 << G4BestUnit(distin, "Length");
228 if (trials>=maxErr)
229 {
230 message << G4endl
231 << "NOTE: Reached maximum fixed number -" << maxErr
232 << "- of overlaps reports for this volume !";
233 }
234 G4Exception("G4PVParameterised::CheckOverlaps()",
235 "GeomVol1002", JustWarning, message);
236 if (trials>=maxErr) { return true; }
237 }
238 }
239 points.push_back(mp);
240 }
241
242 // Checking overlaps with each other parameterised instance
243 //
244 for (auto j=i+1; j<GetMultiplicity(); ++j)
245 {
246 solidB = fparam->ComputeSolid(j,this);
247 solidB->ComputeDimensions(fparam, j, this);
249
250 // Create the transformation for daughter volume
251 //
253
254 for (auto pos=points.cbegin(); pos!=points.cend(); ++pos)
255 {
256 // Transform each point according to daughter's frame
257 //
258 G4ThreeVector md = Td.InverseTransformPoint(*pos);
259
260 if (solidB->Inside(md)==kInside)
261 {
262 G4double distout = solidB->DistanceToOut(md);
263 if (distout > tol)
264 {
265 ++trials; retval = true;
266 std::ostringstream message;
267 message << "Overlap within parameterised volumes !" << G4endl
268 << " Overlap is detected for volume "
269 << GetName() << ", parameterised instance: " << i << G4endl
270 << " with parameterised volume instance: " << j
271 << G4endl
272 << " at local point " << md << ", "
273 << "overlapping by at least: "
274 << G4BestUnit(distout, "Length")
275 << ", related to volume instance: " << j << ".";
276 if (trials>=maxErr)
277 {
278 message << G4endl
279 << "NOTE: Reached maximum fixed number -" << maxErr
280 << "- of overlaps reports for this volume !";
281 }
282 G4Exception("G4PVParameterised::CheckOverlaps()",
283 "GeomVol1002", JustWarning, message);
284 if (trials>=maxErr) { return true; }
285 }
286 }
287 }
288 }
289 }
290 if (verbose)
291 {
292 G4cout << "OK! " << G4endl;
293 }
294
295 return retval;
296}
static const G4double pos
#define G4BestUnit(a, b)
double G4double
Definition: G4Types.hh:83
bool G4bool
Definition: G4Types.hh:86
int G4int
Definition: G4Types.hh:85
G4GLOB_DLL std::ostream G4cout
G4VSolid * GetSolid() const
virtual G4int GetMultiplicity() const
Definition: G4PVReplica.cc:297
virtual G4VSolid * ComputeSolid(const G4int, G4VPhysicalVolume *)
virtual void ComputeTransformation(const G4int, G4VPhysicalVolume *) const =0
G4LogicalVolume * GetMotherLogical() const
const G4RotationMatrix * GetRotation() const
const G4ThreeVector GetTranslation() const
virtual EInside Inside(const G4ThreeVector &p) const =0
virtual void ComputeDimensions(G4VPVParameterisation *p, const G4int n, const G4VPhysicalVolume *pRep)
Definition: G4VSolid.cc:137
virtual G4ThreeVector GetPointOnSurface() const
Definition: G4VSolid.cc:152
virtual G4double DistanceToIn(const G4ThreeVector &p, const G4ThreeVector &v) const =0
@ kInside
Definition: geomdefs.hh:70
@ kOutside
Definition: geomdefs.hh:68

References G4VSolid::ComputeDimensions(), G4VPVParameterisation::ComputeSolid(), G4VPVParameterisation::ComputeTransformation(), G4VSolid::DistanceToIn(), fparam, G4BestUnit, G4cout, G4endl, G4Exception(), G4VPhysicalVolume::GetMotherLogical(), G4PVReplica::GetMultiplicity(), G4LogicalVolume::GetName(), G4VPhysicalVolume::GetName(), G4VSolid::GetPointOnSurface(), G4VPhysicalVolume::GetRotation(), G4LogicalVolume::GetSolid(), G4VPhysicalVolume::GetTranslation(), G4VSolid::Inside(), G4AffineTransform::InverseTransformPoint(), JustWarning, kInside, kOutside, CLHEP::detail::n, pos, and G4AffineTransform::TransformPoint().

Referenced by G4PVParameterised().

◆ Clean()

void G4VPhysicalVolume::Clean ( )
staticinherited

◆ DeduceVolumeType()

EVolume G4VPhysicalVolume::DeduceVolumeType ( ) const
inlineinherited

◆ GetCopyNo()

G4int G4PVReplica::GetCopyNo ( ) const
virtualinherited

Implements G4VPhysicalVolume.

Definition at line 267 of file G4PVReplica.cc.

268{
269 return G4MT_copyNo;
270}
#define G4MT_copyNo
Definition: G4PVReplica.cc:38

References G4MT_copyNo.

◆ GetFrameRotation()

const G4RotationMatrix * G4VPhysicalVolume::GetFrameRotation ( ) const
inherited

◆ GetFrameTranslation()

G4ThreeVector G4VPhysicalVolume::GetFrameTranslation ( ) const
inherited

Definition at line 213 of file G4VPhysicalVolume.cc.

214{
216}
CLHEP::Hep3Vector G4ThreeVector
#define G4MT_ty
#define G4MT_tz
#define G4MT_tx

References G4MT_tx, G4MT_ty, and G4MT_tz.

◆ GetInstanceID()

G4int G4PVReplica::GetInstanceID ( ) const
inlineinherited

Definition at line 149 of file G4PVReplica.hh.

149{ return instanceID; }
G4int instanceID
Definition: G4PVReplica.hh:193

References G4PVReplica::instanceID.

◆ GetLogicalVolume()

G4LogicalVolume * G4VPhysicalVolume::GetLogicalVolume ( ) const
inlineinherited

Referenced by G4AdjointCrossSurfChecker::AddanExtSurfaceOfAvolume(), G4VSceneHandler::AddCompound(), G4VtkSceneHandler::AddCompound(), G4LogicalVolume::AddDaughter(), G4OpenGLStoredSceneHandler::AddPrimitivePreambleInternal(), G4GMocrenFileSceneHandler::AddSolid(), G4VtkSceneHandler::AddSolid(), G4ParallelWorldProcess::AtRestDoIt(), G4ParallelWorldScoringProcess::AtRestDoIt(), G4FastSimulationManagerProcess::AtRestGetPhysicalInteractionLength(), G4ReplicaNavigation::BackLocate(), G4Region::BelongsTo(), G4PhantomParameterisation::BuildContainerSolid(), G4SmartVoxelHeader::BuildNodes(), G4GeometryManager::BuildOptimisations(), G4Track::CalculateVelocityForOpticalPhoton(), G4PVDivision::CheckAndSetParameters(), G4PVPlacement::CheckOverlaps(), G4GeometryWorkspace::CloneReplicaSolid(), G4AdjointPrimaryGenerator::ComputeAccumulatedDepthVectorAlongBackRay(), G4VPVParameterisation::ComputeMaterial(), G4Navigator::ComputeSafety(), G4ITNavigator1::ComputeSafety(), G4ITNavigator2::ComputeSafety(), G4NormalNavigation::ComputeSafety(), G4VoxelNavigation::ComputeSafety(), G4ReplicaNavigation::ComputeSafety(), G4ParameterisedNavigation::ComputeSafety(), G4VoxelSafety::ComputeSafety(), G4PolarizedAnnihilation::ComputeSaturationFactor(), G4PolarizedCompton::ComputeSaturationFactor(), G4PolarizedIonisation::ComputeSaturationFactor(), G4VNestedParameterisation::ComputeSolid(), G4VPVParameterisation::ComputeSolid(), G4PhantomParameterisation::ComputeSolid(), G4ParameterisedNavigation::ComputeStep(), G4RegularNavigation::ComputeStep(), G4VoxelNavigation::ComputeStep(), G4ReplicaNavigation::ComputeStep(), G4NormalNavigation::ComputeStep(), G4Navigator::ComputeStep(), G4ITNavigator1::ComputeStep(), G4ITNavigator2::ComputeStep(), G4PropagatorInField::ComputeStep(), G4RegularNavigation::ComputeStepSkippingEqualMaterials(), G4tgbVolume::ConstructG4Volumes(), G4TheRayTracer::CreateBitMap(), G4AdjointCrossSurfChecker::CrossingAnInterfaceBetweenTwoVolumes(), G4Radioactivation::DecayIt(), G4RadioactiveDecay::DecayIt(), G4AdjointPosOnPhysVolGenerator::DefinePhysicalVolume(), G4RunManagerKernel::DefineWorldVolume(), G4GeometryManager::DeleteOptimisations(), G4LogicalVolumeModel::DescribeYourselfTo(), G4PhysicalVolumeModel::DescribeYourselfTo(), G4VFieldModel::DescribeYourselfTo(), G4GeometryWorkspace::DestroyWorkspace(), G4GlobalFastSimulationManager::DisplayRegion(), G4GDMLWriteStructure::DivisionvolWrite(), G4VisManager::Draw(), G4TrajectoryDrawByOriginVolume::Draw(), G4tgbGeometryDumper::DumpPhysVol(), G4tgbGeometryDumper::DumpPVParameterised(), G4tgbGeometryDumper::DumpPVPlacement(), G4TrajectoryOriginVolumeFilter::Evaluate(), export_G4VPhysicalVolume(), G4PropagatorInField::FindAndSetFieldManager(), G4VReadOutGeometry::FindROTouchable(), G4FastTrack::FRecordsAffineTransformation(), G4Mesh::G4Mesh(), G4PVDivision::G4PVDivision(), G4PVParameterised(), G4PVPlacement::G4PVPlacement(), G4PVReplica::G4PVReplica(), G4ReplicatedSlice::G4ReplicatedSlice(), G4VExternalPhysicalVolume::G4VExternalPhysicalVolume(), G4GDMLRead::GeneratePhysvolName(), G4RTPrimaryGeneratorAction::GeneratePrimaries(), G4Navigator::GetGlobalExitNormal(), G4Navigator::GetLocalExitNormal(), G4ITNavigator1::GetLocalExitNormal(), G4VIntersectionLocator::GetLocalSurfaceNormal(), G4LogicalVolume::GetMass(), G4Channeling::GetMatData(), G4Channeling::GetMeanFreePath(), G4VXTRenergyLoss::GetMeanFreePath(), G4NeutrinoElectronProcess::GetMeanFreePath(), G4ElNeutrinoNucleusProcess::GetMeanFreePath(), G4MuNeutrinoNucleusProcess::GetMeanFreePath(), G4VTransitionRadiation::GetMeanFreePath(), G4Navigator::GetMotherToDaughterTransform(), G4ITNavigator1::GetMotherToDaughterTransform(), G4ITNavigator2::GetMotherToDaughterTransform(), G4TransportationManager::GetParallelWorld(), G4ITTransportationManager::GetParallelWorld(), G4tgbGeometryDumper::GetTopPhysVol(), G4AdjointCrossSurfChecker::GoingInOrOutOfaVolumeByExtSurface(), G4GeometryWorkspace::InitialisePhysicalVolumes(), G4BOptnForceCommonTruncatedExp::Initialize(), G4IStore::IsInWorld(), G4WeightWindowStore::IsInWorld(), G4VEnergyLossProcess::IsRegionForCubcutProcessor(), G4ParameterisedNavigation::LevelLocate(), G4RegularNavigation::LevelLocate(), G4LatticeManager::LoadLattice(), G4ITNavigator1::LocateGlobalPointAndSetup(), G4ITNavigator2::LocateGlobalPointAndSetup(), G4Navigator::LocateGlobalPointAndSetup(), G4Navigator::LocateGlobalPointWithinVolume(), G4ITNavigator1::LocateGlobalPointWithinVolume(), G4ITNavigator2::LocateGlobalPointWithinVolume(), G4FastSimHitMaker::make(), GFlashHitMaker::make(), G4GDMLWriteParamvol::ParametersWrite(), G4GDMLWriteParamvol::ParamvolAlgorithmWrite(), G4GDMLWriteParamvol::ParamvolWrite(), G4GDMLWriteStructure::PhysvolWrite(), G4ParallelWorldProcess::PostStepDoIt(), G4ParallelWorldScoringProcess::PostStepDoIt(), G4ScoreSplittingProcess::PostStepDoIt(), G4Channeling::PostStepDoIt(), G4NeutrinoElectronProcess::PostStepDoIt(), G4MicroElecSurface::PostStepDoIt(), G4ForwardXrayTR::PostStepDoIt(), G4VXTRenergyLoss::PostStepDoIt(), G4ElNeutrinoNucleusProcess::PostStepDoIt(), G4MuNeutrinoNucleusProcess::PostStepDoIt(), G4OpBoundaryProcess::PostStepDoIt(), G4ITTransportation::PostStepDoIt(), G4VTransitionRadiation::PostStepDoIt(), G4CoupledTransportation::PostStepDoIt(), G4Transportation::PostStepDoIt(), G4MaxTimeCuts::PostStepGetPhysicalInteractionLength(), G4MinEkineCuts::PostStepGetPhysicalInteractionLength(), G4BiasingProcessInterface::PostStepGetPhysicalInteractionLength(), G4FastSimulationManagerProcess::PostStepGetPhysicalInteractionLength(), G4StepLimiter::PostStepGetPhysicalInteractionLength(), G4UserSpecialCuts::PostStepGetPhysicalInteractionLength(), G4AdjointForcedInteractionForGamma::PostStepGetPhysicalInteractionLength(), G4LowECapture::PostStepGetPhysicalInteractionLength(), G4NavigationLogger::PreComputeStepLog(), G4PSFlatSurfaceCurrent::ProcessHits(), G4PSFlatSurfaceFlux::ProcessHits(), G4PSSphereSurfaceFlux::ProcessHits(), G4PSVolumeFlux::ProcessHits(), G4ErrorFreeTrajState::PropagateErrorIoni(), G4ErrorFreeTrajState::PropagateErrorMSC(), G4ITNavigator2::RecheckDistanceToCurrentBoundary(), G4ReflectionFactory::ReflectPVDivision(), G4ReflectionFactory::ReflectPVPlacement(), G4ReflectionFactory::ReflectPVReplica(), G4LatticeManager::RegisterLattice(), G4GDMLWriteStructure::ReplicavolWrite(), G4PropagatorInField::ReportLoopingParticle(), G4NavigationLogger::ReportOutsideMother(), G4NavigationLogger::ReportVolumeAndIntersection(), G4ASCIITreeSceneHandler::RequestPrimitives(), G4VoxelSafety::SafetyForVoxelHeader(), G4VoxelSafety::SafetyForVoxelNode(), G4PolarizedAnnihilationModel::SampleSecondaries(), G4PolarizedComptonModel::SampleSecondaries(), G4PolarizedIonisationModel::SampleSecondaries(), G4DNAIRT_geometries::Sampling(), G4ProductionCutsTable::ScanAndSetCouple(), G4Region::ScanVolumeTree(), G4LogicalVolume::SetFieldManager(), G4ITStepProcessor::SetInitialStep(), G4SteppingManager::SetInitialStep(), G4VVisCommandGeometrySet::SetLVVisAtts(), G4VisCommandsTouchable::SetNewValue(), G4RTPrimaryGeneratorAction::SetUp(), G4ScoringProbe::SetupGeometry(), G4ScoringBox::SetupGeometry(), G4ScoringCylinder::SetupGeometry(), G4Navigator::SetupHierarchy(), G4ITNavigator1::SetupHierarchy(), G4ITNavigator2::SetupHierarchy(), G4GlobalFastSimulationManager::ShowSetup(), G4SteppingManager::Stepping(), G4ParallelWorldProcess::SwitchMaterial(), G4GeomTestVolume::TestOverlapInTree(), G4GeomTestVolume::TestRecursiveOverlap(), G4LogicalVolume::TotalVolumeEntities(), G4GDMLWriteStructure::TraverseVolumeTree(), G4Channeling::UpdateParameters(), and G4MSSteppingAction::UserSteppingAction().

◆ GetMotherLogical()

G4LogicalVolume * G4VPhysicalVolume::GetMotherLogical ( ) const
inlineinherited

◆ GetMultiplicity()

G4int G4PVReplica::GetMultiplicity ( ) const
virtualinherited

Reimplemented from G4VPhysicalVolume.

Reimplemented in G4PVDivision, and G4ReplicatedSlice.

Definition at line 297 of file G4PVReplica.cc.

298{
299 return fnReplicas;
300}

References G4PVReplica::fnReplicas.

Referenced by CheckOverlaps(), G4LogicalVolumeModel::DescribeYourselfTo(), and export_G4PVReplica().

◆ GetName()

const G4String & G4VPhysicalVolume::GetName ( ) const
inlineinherited

Referenced by G4TransportationManager::ActivateNavigator(), G4VSceneHandler::AddCompound(), G4LogicalVolume::AddDaughter(), G4HepRepFileSceneHandler::AddHepRepInstance(), G4GDMLWrite::AddModule(), G4GMocrenFileSceneHandler::AddPrimitive(), G4GMocrenFileSceneHandler::AddSolid(), G4VtkSceneHandler::AddSolid(), G4DNABrownianTransportation::AlongStepGetPhysicalInteractionLength(), G4CoupledTransportation::AlongStepGetPhysicalInteractionLength(), G4GDMLWriteStructure::BorderSurfaceCache(), G4SmartVoxelHeader::BuildNodes(), G4ReplicatedSlice::CheckAndSetParameters(), G4PVDivision::CheckAndSetParameters(), G4PVReplica::CheckOnlyDaughter(), CheckOverlaps(), G4PVPlacement::CheckOverlaps(), G4Navigator::CheckOverlapsIterative(), G4Navigator::ComputeSafety(), G4ITNavigator1::ComputeSafety(), G4ITNavigator2::ComputeSafety(), G4VoxelNavigation::ComputeSafety(), G4VoxelSafety::ComputeSafety(), G4PolarizedAnnihilation::ComputeSaturationFactor(), G4PolarizedCompton::ComputeSaturationFactor(), G4PolarizedIonisation::ComputeSaturationFactor(), G4ParameterisedNavigation::ComputeStep(), G4ReplicaNavigation::ComputeStep(), G4Navigator::ComputeStep(), G4ITNavigator1::ComputeStep(), G4ITNavigator2::ComputeStep(), G4PropagatorInField::ComputeStep(), G4tgbPlaceParamCircle::ComputeTransformation(), G4tgbPlaceParamLinear::ComputeTransformation(), G4tgbPlaceParamSquare::ComputeTransformation(), G4ImportanceConfigurator::Configure(), G4WeightCutOffConfigurator::Configure(), G4WeightWindowConfigurator::Configure(), G4tgbDetectorConstruction::Construct(), G4tgbDetectorBuilder::ConstructDetector(), G4tgbVolume::ConstructG4PhysVol(), G4FastSimulationPhysics::ConstructProcess(), G4Qt3DSceneHandler::CreateNewNode(), G4PathFinder::CreateTouchableHandle(), G4ITPathFinder::CreateTouchableHandle(), G4AdjointCrossSurfChecker::CrossingAnInterfaceBetweenTwoVolumes(), G4TransportationManager::DeActivateNavigator(), G4DNAMolecularDissociation::DecayIt(), G4PhysicalVolumeStore::DeRegister(), G4TransportationManager::DeRegisterNavigator(), G4TransportationManager::DeRegisterWorld(), G4ITTransportationManager::DeRegisterWorld(), G4PhysicalVolumeModel::DescribeAndDescend(), G4LogicalVolumeModel::DescribeYourselfTo(), G4GDMLWriteStructure::DivisionvolWrite(), G4TrajectoryDrawByOriginVolume::Draw(), G4tgbVolumeMgr::DumpG4PhysVolLeaf(), G4LogicalBorderSurface::DumpInfo(), G4tgbGeometryDumper::DumpPVParameterised(), G4tgbGeometryDumper::DumpPVPlacement(), G4tgbGeometryDumper::DumpPVReplica(), G4RunManagerKernel::DumpRegion(), G4HadronicProcess::DumpState(), G4MuonicAtomDecay::DumpState(), G4tgbVolumeMgr::DumpSummary(), G4ExceptionHandler::DumpTrackInfo(), G4ASCIITreeSceneHandler::EndModeling(), G4TrajectoryOriginVolumeFilter::Evaluate(), export_G4VPhysicalVolume(), G4FastTrack::FRecordsAffineTransformation(), G4FastSimulationManagerProcess::G4FastSimulationManagerProcess(), G4IStore::G4IStore(), G4PhysicalVolumeModel::G4PhysicalVolumeModel(), G4PVParameterised(), G4PVReplica::G4PVReplica(), G4Navigator::GetGlobalExitNormal(), G4PSDoseDeposit3D::GetIndex(), G4PSEnergyDeposit3D::GetIndex(), G4LatticeManager::GetLattice(), G4Navigator::GetLocalExitNormal(), G4ITNavigator1::GetLocalExitNormal(), G4ModelingParameters::PVPointerCopyNo::GetName(), G4TransportationManager::GetNavigator(), G4ITTransportationManager::GetNavigator(), G4tgbVolumeMgr::GetTopPhysVol(), G4AdjointCrossSurfChecker::GoingInOrOutOfaVolume(), G4AdjointCrossSurfChecker::GoingInOrOutOfaVolumeByExtSurface(), G4SPSPosDistribution::IsSourceConfined(), G4LatticeManager::LoadLattice(), G4ITMultiNavigator::LocateGlobalPointAndSetup(), G4ITNavigator1::LocateGlobalPointAndSetup(), G4ITNavigator2::LocateGlobalPointAndSetup(), G4MultiNavigator::LocateGlobalPointAndSetup(), G4Navigator::LocateGlobalPointAndSetup(), operator<<(), G4GDMLWriteParamvol::ParametersWrite(), Path(), G4GDMLWriteStructure::PhysvolWrite(), G4UCNAbsorption::PostStepDoIt(), G4UCNBoundaryProcess::PostStepDoIt(), G4UCNMultiScattering::PostStepDoIt(), G4MicroElecSurface::PostStepDoIt(), G4OpBoundaryProcess::PostStepDoIt(), G4CoupledTransportation::PostStepDoIt(), G4ITSteppingVerbose::PostStepVerbose(), G4NavigationLogger::PreComputeStepLog(), G4MultiNavigator::PrepareNavigators(), G4ITMultiNavigator::PrepareNavigators(), G4ITSteppingVerbose::PreStepVerbose(), G4MultiNavigator::PrintLimited(), G4PathFinder::PrintLimited(), G4ITMultiNavigator::PrintLimited(), G4ITPathFinder::PrintLimited(), G4Navigator::PrintState(), G4ITNavigator1::PrintState(), G4PropagatorInField::printStatus(), G4PhysicalVolumeMassScene::ProcessVolume(), G4PhysicalVolumesSearchScene::ProcessVolume(), G4ReflectionFactory::ReflectPVDivision(), G4ReflectionFactory::ReflectPVParameterised(), G4ReflectionFactory::ReflectPVPlacement(), G4ReflectionFactory::ReflectPVReplica(), G4PhysicalVolumeStore::Register(), G4tgbVolumeMgr::RegisterMe(), G4PropagatorInField::ReportLoopingParticle(), G4PropagatorInField::ReportStuckParticle(), G4NavigationLogger::ReportVolumeAndIntersection(), G4ASCIITreeSceneHandler::RequestPrimitives(), G4VoxelSafety::SafetyForVoxelHeader(), G4Region::ScanVolumeTree(), G4VisCommandsTouchable::SetNewValue(), G4WeightCutOffProcess::SetParallelWorld(), G4WeightWindowProcess::SetParallelWorld(), G4ParallelWorldProcess::SetParallelWorld(), G4ParallelWorldScoringProcess::SetParallelWorld(), G4IStore::SetParallelWorldVolume(), G4IStore::SetWorldVolume(), G4WeightWindowStore::SetWorldVolume(), G4FastSimulationManagerProcess::SetWorldVolume(), G4GlobalFastSimulationManager::ShowSetup(), G4ITSteppingVerbose::ShowStep(), G4SteppingVerbose::ShowStep(), G4SteppingVerboseWithUnits::ShowStep(), G4ITSteppingVerbose::StepInfo(), G4SteppingVerbose::StepInfo(), G4SteppingVerboseWithUnits::StepInfo(), G4ITSteppingVerbose::StepInfoForLeadingTrack(), G4GDMLRead::StripNames(), G4ErrorGeomVolumeTarget::TargetReached(), G4GeomTestVolume::TestOverlapInTree(), G4ITSteppingVerbose::TrackingEnded(), G4SteppingVerbose::TrackingStarted(), G4SteppingVerboseWithUnits::TrackingStarted(), G4ITSteppingVerbose::TrackingStarted(), G4ParallelWorldScoringProcess::Verbose(), G4ScoreSplittingProcess::Verbose(), G4ITSteppingVerbose::VerboseTrack(), G4SteppingVerbose::VerboseTrack(), G4SteppingVerboseWithUnits::VerboseTrack(), G4VScoringMesh::WorkerConstruct(), and G4RunManagerKernel::WorkerUpdateWorldVolume().

◆ GetObjectRotation()

G4RotationMatrix * G4VPhysicalVolume::GetObjectRotation ( ) const
inherited

Definition at line 175 of file G4VPhysicalVolume.cc.

176{
177 static G4RotationMatrix aRotM;
178 static G4RotationMatrix IdentityRM;
179
180 G4RotationMatrix* retval = &IdentityRM;
181
182 // Insure against frot being a null pointer
183 if(this->GetRotation())
184 {
185 aRotM = GetRotation()->inverse();
186 retval= &aRotM;
187 }
188 return retval;
189}
HepRotation inverse() const

References G4VPhysicalVolume::GetRotation(), and CLHEP::HepRotation::inverse().

◆ GetObjectRotationValue()

G4RotationMatrix G4VPhysicalVolume::GetObjectRotationValue ( ) const
inherited

Definition at line 191 of file G4VPhysicalVolume.cc.

192{
193 G4RotationMatrix aRotM; // Initialised to identity
194
195 // Insure against G4MT_rot being a null pointer
196 if(G4MT_rot)
197 {
198 aRotM = G4MT_rot->inverse();
199 }
200 return aRotM;
201}

References G4MT_rot.

Referenced by G4PhysicalVolumeModel::CreateCurrentAttValues(), export_G4VPhysicalVolume(), G4GDMLWriteParamvol::ParametersWrite(), and G4ReflectionFactory::ReflectPVPlacement().

◆ GetObjectTranslation()

G4ThreeVector G4VPhysicalVolume::GetObjectTranslation ( ) const
inherited

◆ GetParameterisation()

G4VPVParameterisation * G4PVParameterised::GetParameterisation ( ) const
virtual

◆ GetRegularStructureId()

G4int G4PVReplica::GetRegularStructureId ( ) const
virtualinherited

Implements G4VPhysicalVolume.

Definition at line 329 of file G4PVReplica.cc.

330{
331 return fRegularVolsId;
332}
G4int fRegularVolsId
Definition: G4PVReplica.hh:191

References G4PVReplica::fRegularVolsId.

◆ GetReplicationData()

void G4PVParameterised::GetReplicationData ( EAxis axis,
G4int nReplicas,
G4double width,
G4double offset,
G4bool consuming 
) const
virtual

Reimplemented from G4PVReplica.

Definition at line 146 of file G4PVParameterised.cc.

151{
152 axis = faxis;
153 nReplicas = fnReplicas;
154 width = fwidth;
155 offset = foffset;
156 consuming = false;
157}

References G4PVReplica::faxis, G4PVReplica::fnReplicas, G4PVReplica::foffset, and G4PVReplica::fwidth.

Referenced by G4tgbGeometryDumper::DumpPVParameterised().

◆ GetRotation() [1/2]

G4RotationMatrix * G4VPhysicalVolume::GetRotation ( )
inherited

Definition at line 165 of file G4VPhysicalVolume.cc.

166{
167 return G4MT_rot;
168}

References G4MT_rot.

◆ GetRotation() [2/2]

const G4RotationMatrix * G4VPhysicalVolume::GetRotation ( ) const
inherited

◆ GetSubInstanceManager()

const G4PVRManager & G4PVReplica::GetSubInstanceManager ( )
staticinherited

Definition at line 343 of file G4PVReplica.cc.

344{
345 return subInstanceManager;
346}
static G4GEOM_DLL G4PVRManager subInstanceManager
Definition: G4PVReplica.hh:195

References G4PVReplica::subInstanceManager.

Referenced by G4GeometryWorkspace::G4GeometryWorkspace().

◆ GetTranslation()

const G4ThreeVector G4VPhysicalVolume::GetTranslation ( ) const
inherited

◆ InitialiseWorker() [1/2]

void G4PVReplica::InitialiseWorker ( G4PVReplica pMasterObject)
inherited

Definition at line 355 of file G4PVReplica.cc.

356{
357
358 G4VPhysicalVolume::InitialiseWorker( pMasterObject, nullptr, G4ThreeVector());
360 G4MT_copyNo = -1;
361
362 // This call causes "self-assignment" of the input parameters
363 // Issue reported by DRD since TerminateWorker() below can be called
364 // at the same time by another thread.
365 // What we need here is the split-class component of CheckAndSetParameters()
366 // funciton copied here.
367
368 // Create rotation matrix for phi axis case & check axis is valid
369 //
370 G4RotationMatrix* pRMat = nullptr;
371 switch (faxis)
372 {
373 case kPhi:
374 pRMat = new G4RotationMatrix();
375 if (pRMat == nullptr)
376 {
377 G4Exception("G4PVReplica::InitialiseWorker(...)", "GeomVol0003",
378 FatalException, "Rotation matrix allocation failed.");
379 }
380 SetRotation(pRMat);
381 break;
382 case kRho:
383 case kXAxis:
384 case kYAxis:
385 case kZAxis:
386 case kUndefined:
387 break;
388 default:
389 G4Exception("G4PVReplica::InitialiseWorker(...)", "GeomVol0002",
390 FatalException, "Unknown axis of replication.");
391 break;
392 }
393}
void SlaveCopySubInstanceArray()
void InitialiseWorker(G4VPhysicalVolume *pMasterObject, G4RotationMatrix *pRot, const G4ThreeVector &tlate)

References FatalException, G4PVReplica::faxis, G4Exception(), G4MT_copyNo, G4VPhysicalVolume::InitialiseWorker(), kPhi, kRho, kUndefined, kXAxis, kYAxis, kZAxis, G4VPhysicalVolume::SetRotation(), G4GeomSplitter< T >::SlaveCopySubInstanceArray(), and G4PVReplica::subInstanceManager.

Referenced by G4GeometryWorkspace::InitialisePhysicalVolumes().

◆ InitialiseWorker() [2/2]

void G4VPhysicalVolume::InitialiseWorker ( G4VPhysicalVolume pMasterObject,
G4RotationMatrix pRot,
const G4ThreeVector tlate 
)
protectedinherited

Definition at line 111 of file G4VPhysicalVolume.cc.

115{
117
118 this->SetRotation( pRot ); // G4MT_rot = pRot;
119 this->SetTranslation( tlate ); // G4MT_trans = tlate;
120 // G4PhysicalVolumeStore::Register(this);
121}
void SetTranslation(const G4ThreeVector &v)

References G4VPhysicalVolume::SetRotation(), G4VPhysicalVolume::SetTranslation(), G4GeomSplitter< T >::SlaveCopySubInstanceArray(), and G4VPhysicalVolume::subInstanceManager.

Referenced by G4PVReplica::InitialiseWorker().

◆ IsMany()

G4bool G4PVReplica::IsMany ( ) const
virtualinherited

Implements G4VPhysicalVolume.

Definition at line 261 of file G4PVReplica.cc.

262{
263 return false;
264}

◆ IsParameterised()

G4bool G4PVParameterised::IsParameterised ( ) const
virtual

Reimplemented from G4PVReplica.

Definition at line 130 of file G4PVParameterised.cc.

131{
132 return true;
133}

◆ IsRegularStructure()

G4bool G4PVReplica::IsRegularStructure ( ) const
virtualinherited

Implements G4VPhysicalVolume.

Definition at line 323 of file G4PVReplica.cc.

324{
325 return (fRegularVolsId != 0);
326}

References G4PVReplica::fRegularVolsId.

◆ IsReplicated()

G4bool G4PVReplica::IsReplicated ( ) const
virtualinherited

Implements G4VPhysicalVolume.

Definition at line 279 of file G4PVReplica.cc.

280{
281 return true;
282}

◆ operator==()

G4bool G4VPhysicalVolume::operator== ( const G4VPhysicalVolume p) const
inlineinherited

◆ SetCopyNo()

void G4PVReplica::SetCopyNo ( G4int  CopyNo)
virtualinherited

Implements G4VPhysicalVolume.

Definition at line 273 of file G4PVReplica.cc.

274{
275 G4MT_copyNo = newCopyNo;
276}

References G4MT_copyNo.

◆ SetLogicalVolume()

void G4VPhysicalVolume::SetLogicalVolume ( G4LogicalVolume pLogical)
inlineinherited

◆ SetMotherLogical()

void G4VPhysicalVolume::SetMotherLogical ( G4LogicalVolume pMother)
inlineinherited

◆ SetName()

void G4VPhysicalVolume::SetName ( const G4String pName)
inherited

◆ SetRegularStructureId()

void G4PVParameterised::SetRegularStructureId ( G4int  code)
virtual

Reimplemented from G4PVReplica.

Definition at line 162 of file G4PVParameterised.cc.

163{
165 // To undertake additional preparation, a derived volume must
166 // redefine this method, while calling also the above method
167}
virtual void SetRegularStructureId(G4int code)
Definition: G4PVReplica.cc:335
Definition: inftrees.h:24

References G4PVReplica::SetRegularStructureId().

◆ SetRotation()

void G4VPhysicalVolume::SetRotation ( G4RotationMatrix pRot)
inherited

◆ SetTranslation()

void G4VPhysicalVolume::SetTranslation ( const G4ThreeVector v)
inherited

Definition at line 155 of file G4VPhysicalVolume.cc.

156{
157 G4MT_tx=vec.x(); G4MT_ty=vec.y(); G4MT_tz=vec.z();
158}

References G4MT_tx, G4MT_ty, G4MT_tz, CLHEP::Hep3Vector::x(), CLHEP::Hep3Vector::y(), and CLHEP::Hep3Vector::z().

Referenced by 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(), G4ParameterisationPolyhedraPhi::ComputeTransformation(), G4ParameterisationPolyhedraZ::ComputeTransformation(), G4ParameterisationTrdX::ComputeTransformation(), G4ParameterisationTrdY::ComputeTransformation(), G4ParameterisationTrdZ::ComputeTransformation(), G4ParameterisationTubsRho::ComputeTransformation(), G4ParameterisationTubsPhi::ComputeTransformation(), G4ParameterisationTubsZ::ComputeTransformation(), G4tgbPlaceParamCircle::ComputeTransformation(), G4tgbPlaceParamLinear::ComputeTransformation(), G4tgbPlaceParamSquare::ComputeTransformation(), G4ReplicaNavigation::ComputeTransformation(), G4PartialPhantomParameterisation::ComputeTransformation(), G4PhantomParameterisation::ComputeTransformation(), G4GDMLParameterisation::ComputeTransformation(), export_G4VPhysicalVolume(), G4VPhysicalVolume::G4VPhysicalVolume(), and G4VPhysicalVolume::InitialiseWorker().

◆ TerminateWorker() [1/2]

void G4PVReplica::TerminateWorker ( G4PVReplica pMasterObject)
inherited

Definition at line 400 of file G4PVReplica.cc.

401{
402 if ( faxis==kPhi )
403 {
404 delete GetRotation();
405 }
406}

References G4PVReplica::faxis, G4VPhysicalVolume::GetRotation(), and kPhi.

Referenced by G4GeometryWorkspace::DestroyWorkspace().

◆ TerminateWorker() [2/2]

void G4VPhysicalVolume::TerminateWorker ( G4VPhysicalVolume pMasterObject)
protectedinherited

Definition at line 134 of file G4VPhysicalVolume.cc.

135{
136}

◆ VolumeType()

EVolume G4PVParameterised::VolumeType ( ) const
finalvirtual

Reimplemented from G4PVReplica.

Definition at line 138 of file G4PVParameterised.cc.

139{
140 return kParameterised;
141}
@ kParameterised
Definition: geomdefs.hh:86

References kParameterised.

Field Documentation

◆ faxis

EAxis G4PVReplica::faxis
protectedinherited

◆ flmother

G4LogicalVolume* G4VPhysicalVolume::flmother = nullptr
privateinherited

Definition at line 246 of file G4VPhysicalVolume.hh.

◆ flogical

G4LogicalVolume* G4VPhysicalVolume::flogical = nullptr
privateinherited

Definition at line 242 of file G4VPhysicalVolume.hh.

◆ fname

G4String G4VPhysicalVolume::fname
privateinherited

Definition at line 245 of file G4VPhysicalVolume.hh.

Referenced by G4VPhysicalVolume::SetName().

◆ fnReplicas

G4int G4PVReplica::fnReplicas
protectedinherited

◆ foffset

G4double G4PVReplica::foffset
protectedinherited

◆ fparam

G4VPVParameterisation* G4PVParameterised::fparam = nullptr
private

Definition at line 110 of file G4PVParameterised.hh.

Referenced by CheckOverlaps(), and GetParameterisation().

◆ fRegularVolsId

G4int G4PVReplica::fRegularVolsId = 0
privateinherited

◆ fwidth

G4double G4PVReplica::fwidth
protectedinherited

◆ instanceID

G4int G4PVReplica::instanceID
privateinherited

Definition at line 193 of file G4PVReplica.hh.

Referenced by G4PVReplica::G4PVReplica(), and G4PVReplica::GetInstanceID().

◆ pvdata

G4PVData* G4VPhysicalVolume::pvdata = nullptr
privateinherited

◆ subInstanceManager

G4PVRManager G4PVReplica::subInstanceManager
staticprivateinherited

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