Geant4 11.2.2
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4VExternalPhysicalVolume Class Referenceabstract

#include <G4VExternalPhysicalVolume.hh>

+ Inheritance diagram for G4VExternalPhysicalVolume:

Public Member Functions

 G4VExternalPhysicalVolume (G4RotationMatrix *pRot, const G4ThreeVector &tlate, G4LogicalVolume *pCurrentLogical, const G4String &pName, G4VPhysicalVolume *pMother)
 
 G4VExternalPhysicalVolume (const G4VExternalPhysicalVolume &)=delete
 
G4VExternalPhysicalVolumeoperator= (const G4VExternalPhysicalVolume &)=delete
 
 ~G4VExternalPhysicalVolume () override
 
G4bool CheckOverlaps (G4int res=1000, G4double tol=0., G4bool verbose=true, G4int maxErr=1) override=0
 
 G4VExternalPhysicalVolume (__void__ &)
 
EVolume VolumeType () const final
 
G4bool IsMany () const final
 
G4bool IsReplicated () const final
 
G4bool IsParameterised () const final
 
G4VPVParameterisationGetParameterisation () const final
 
void GetReplicationData (EAxis &axis, G4int &nReplicas, G4double &width, G4double &offset, G4bool &consuming) const final
 
G4bool IsRegularStructure () const final
 
G4int GetRegularStructureId () const final
 
void SetMany (G4bool overlap)
 
- Public Member Functions inherited from G4VPhysicalVolume
 G4VPhysicalVolume (G4RotationMatrix *pRot, const G4ThreeVector &tlate, const G4String &pName, G4LogicalVolume *pLogical, G4VPhysicalVolume *pMother)
 
virtual ~G4VPhysicalVolume ()
 
 G4VPhysicalVolume (const G4VPhysicalVolume &)=delete
 
G4VPhysicalVolumeoperator= (const G4VPhysicalVolume &)=delete
 
G4bool operator== (const G4VPhysicalVolume &p) const
 
G4RotationMatrixGetObjectRotation () const
 
G4RotationMatrix GetObjectRotationValue () const
 
G4ThreeVector GetObjectTranslation () const
 
const G4RotationMatrixGetFrameRotation () const
 
G4ThreeVector GetFrameTranslation () const
 
const G4ThreeVector GetTranslation () const
 
const G4RotationMatrixGetRotation () const
 
void SetTranslation (const G4ThreeVector &v)
 
G4RotationMatrixGetRotation ()
 
void SetRotation (G4RotationMatrix *)
 
G4LogicalVolumeGetLogicalVolume () const
 
void SetLogicalVolume (G4LogicalVolume *pLogical)
 
G4LogicalVolumeGetMotherLogical () const
 
void SetMotherLogical (G4LogicalVolume *pMother)
 
const G4StringGetName () const
 
void SetName (const G4String &pName)
 
virtual G4int GetMultiplicity () const
 
virtual G4int GetCopyNo () const =0
 
virtual void SetCopyNo (G4int CopyNo)=0
 
 G4VPhysicalVolume (__void__ &)
 
G4int GetInstanceID () const
 
EVolume DeduceVolumeType () const
 

Additional Inherited Members

- Static Public Member Functions inherited from G4VPhysicalVolume
static const G4PVManagerGetSubInstanceManager ()
 
static void Clean ()
 
- Protected Member Functions inherited from G4VPhysicalVolume
void InitialiseWorker (G4VPhysicalVolume *pMasterObject, G4RotationMatrix *pRot, const G4ThreeVector &tlate)
 
void TerminateWorker (G4VPhysicalVolume *pMasterObject)
 
- Protected Attributes inherited from G4VPhysicalVolume
G4int instanceID
 
- Static Protected Attributes inherited from G4VPhysicalVolume
static G4GEOM_DLL G4PVManager subInstanceManager
 

Detailed Description

Definition at line 45 of file G4VExternalPhysicalVolume.hh.

Constructor & Destructor Documentation

◆ G4VExternalPhysicalVolume() [1/3]

G4VExternalPhysicalVolume::G4VExternalPhysicalVolume ( G4RotationMatrix * pRot,
const G4ThreeVector & tlate,
G4LogicalVolume * pCurrentLogical,
const G4String & pName,
G4VPhysicalVolume * pMother )

Definition at line 40 of file G4VExternalPhysicalVolume.cc.

46 : G4VPhysicalVolume(pRot, tlate, pName, pLogical, pMother)
47{
48 if (pMother != nullptr)
49 {
50 G4LogicalVolume* motherLogical = pMother->GetLogicalVolume();
51 if (pLogical == motherLogical)
52 {
53 G4Exception("G4VExternalPhysicalVolume::G4VExternalPhysicalVolume()",
54 "GeomVol0002", FatalException,
55 "Cannot place a volume inside itself!");
56 }
57 SetMotherLogical(motherLogical);
58 motherLogical->AddDaughter(this);
59 }
60}
@ FatalException
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
void AddDaughter(G4VPhysicalVolume *p)
G4VPhysicalVolume(G4RotationMatrix *pRot, const G4ThreeVector &tlate, const G4String &pName, G4LogicalVolume *pLogical, G4VPhysicalVolume *pMother)
G4LogicalVolume * GetLogicalVolume() const
void SetMotherLogical(G4LogicalVolume *pMother)

◆ G4VExternalPhysicalVolume() [2/3]

G4VExternalPhysicalVolume::G4VExternalPhysicalVolume ( const G4VExternalPhysicalVolume & )
delete

◆ ~G4VExternalPhysicalVolume()

G4VExternalPhysicalVolume::~G4VExternalPhysicalVolume ( )
overridedefault

◆ G4VExternalPhysicalVolume() [3/3]

G4VExternalPhysicalVolume::G4VExternalPhysicalVolume ( __void__ & a)

Definition at line 66 of file G4VExternalPhysicalVolume.cc.

68{
69}

Member Function Documentation

◆ CheckOverlaps()

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

Reimplemented from G4VPhysicalVolume.

◆ GetParameterisation()

G4VPVParameterisation * G4VExternalPhysicalVolume::GetParameterisation ( ) const
finalvirtual

Implements G4VPhysicalVolume.

Definition at line 111 of file G4VExternalPhysicalVolume.cc.

112{
113 return nullptr;
114}

◆ GetRegularStructureId()

G4int G4VExternalPhysicalVolume::GetRegularStructureId ( ) const
finalvirtual

Implements G4VPhysicalVolume.

Definition at line 140 of file G4VExternalPhysicalVolume.cc.

141{
142 return 0;
143}

◆ GetReplicationData()

void G4VExternalPhysicalVolume::GetReplicationData ( EAxis & axis,
G4int & nReplicas,
G4double & width,
G4double & offset,
G4bool & consuming ) const
finalvirtual

Implements G4VPhysicalVolume.

Definition at line 119 of file G4VExternalPhysicalVolume.cc.

121{
122 // No-operations
123}

◆ IsMany()

G4bool G4VExternalPhysicalVolume::IsMany ( ) const
finalvirtual

Implements G4VPhysicalVolume.

Definition at line 79 of file G4VExternalPhysicalVolume.cc.

80{
81 return fMany;
82}

◆ IsParameterised()

G4bool G4VExternalPhysicalVolume::IsParameterised ( ) const
finalvirtual

Implements G4VPhysicalVolume.

Definition at line 103 of file G4VExternalPhysicalVolume.cc.

104{
105 return false;
106}

◆ IsRegularStructure()

G4bool G4VExternalPhysicalVolume::IsRegularStructure ( ) const
finalvirtual

Implements G4VPhysicalVolume.

Definition at line 130 of file G4VExternalPhysicalVolume.cc.

131{
132 return false;
133}

◆ IsReplicated()

G4bool G4VExternalPhysicalVolume::IsReplicated ( ) const
finalvirtual

Implements G4VPhysicalVolume.

Definition at line 95 of file G4VExternalPhysicalVolume.cc.

96{
97 return false;
98}

◆ operator=()

G4VExternalPhysicalVolume & G4VExternalPhysicalVolume::operator= ( const G4VExternalPhysicalVolume & )
delete

◆ SetMany()

void G4VExternalPhysicalVolume::SetMany ( G4bool overlap)

Definition at line 87 of file G4VExternalPhysicalVolume.cc.

88{
89 fMany = overlap;
90}

◆ VolumeType()

EVolume G4VExternalPhysicalVolume::VolumeType ( ) const
finalvirtual

Implements G4VPhysicalVolume.

Definition at line 150 of file G4VExternalPhysicalVolume.cc.

151{
152 return kExternal;
153}
@ kExternal
Definition geomdefs.hh:87

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