Geant4 10.7.0
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
 
virtual ~G4VExternalPhysicalVolume ()
 
virtual G4bool CheckOverlaps (G4int res=1000, G4double tol=0., G4bool verbose=true, G4int maxErr=1)=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 EVolume VolumeType () const =0
 
virtual G4bool IsMany () const =0
 
virtual G4int GetCopyNo () const =0
 
virtual void SetCopyNo (G4int CopyNo)=0
 
virtual G4bool IsReplicated () const =0
 
virtual G4bool IsParameterised () const =0
 
virtual G4VPVParameterisationGetParameterisation () const =0
 
virtual void GetReplicationData (EAxis &axis, G4int &nReplicas, G4double &width, G4double &offset, G4bool &consuming) const =0
 
virtual G4bool IsRegularStructure () const =0
 
virtual G4int GetRegularStructureId () const =0
 
virtual G4bool CheckOverlaps (G4int res=1000, G4double tol=0., G4bool verbose=true, G4int errMax=1)
 
 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)
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)
Definition: G4Exception.cc:35
void AddDaughter(G4VPhysicalVolume *p)
G4LogicalVolume * GetLogicalVolume() const
void SetMotherLogical(G4LogicalVolume *pMother)

◆ G4VExternalPhysicalVolume() [2/3]

G4VExternalPhysicalVolume::G4VExternalPhysicalVolume ( const G4VExternalPhysicalVolume )
delete

◆ ~G4VExternalPhysicalVolume()

G4VExternalPhysicalVolume::~G4VExternalPhysicalVolume ( )
virtual

Definition at line 74 of file G4VExternalPhysicalVolume.cc.

75{
76}

◆ G4VExternalPhysicalVolume() [3/3]

G4VExternalPhysicalVolume::G4VExternalPhysicalVolume ( __void__ &  a)

Definition at line 66 of file G4VExternalPhysicalVolume.cc.

68{
69}

Member Function Documentation

◆ CheckOverlaps()

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

Reimplemented from G4VPhysicalVolume.

◆ GetParameterisation()

G4VPVParameterisation * G4VExternalPhysicalVolume::GetParameterisation ( ) const
finalvirtual

Implements G4VPhysicalVolume.

Definition at line 113 of file G4VExternalPhysicalVolume.cc.

114{
115 return nullptr;
116}

◆ GetRegularStructureId()

G4int G4VExternalPhysicalVolume::GetRegularStructureId ( ) const
finalvirtual

Implements G4VPhysicalVolume.

Definition at line 142 of file G4VExternalPhysicalVolume.cc.

143{
144 return 0;
145}

◆ GetReplicationData()

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

Implements G4VPhysicalVolume.

Definition at line 121 of file G4VExternalPhysicalVolume.cc.

123{
124 // No-operations
125}

◆ IsMany()

G4bool G4VExternalPhysicalVolume::IsMany ( ) const
finalvirtual

Implements G4VPhysicalVolume.

Definition at line 81 of file G4VExternalPhysicalVolume.cc.

82{
83 return fMany;
84}

◆ IsParameterised()

G4bool G4VExternalPhysicalVolume::IsParameterised ( ) const
finalvirtual

Implements G4VPhysicalVolume.

Definition at line 105 of file G4VExternalPhysicalVolume.cc.

106{
107 return false;
108}

◆ IsRegularStructure()

G4bool G4VExternalPhysicalVolume::IsRegularStructure ( ) const
finalvirtual

Implements G4VPhysicalVolume.

Definition at line 132 of file G4VExternalPhysicalVolume.cc.

133{
134 return false;
135}

◆ IsReplicated()

G4bool G4VExternalPhysicalVolume::IsReplicated ( ) const
finalvirtual

Implements G4VPhysicalVolume.

Definition at line 97 of file G4VExternalPhysicalVolume.cc.

98{
99 return false;
100}

◆ operator=()

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

◆ SetMany()

void G4VExternalPhysicalVolume::SetMany ( G4bool  overlap)

Definition at line 89 of file G4VExternalPhysicalVolume.cc.

90{
91 fMany = overlap;
92}

◆ VolumeType()

EVolume G4VExternalPhysicalVolume::VolumeType ( ) const
finalvirtual

Implements G4VPhysicalVolume.

Definition at line 152 of file G4VExternalPhysicalVolume.cc.

153{
154 return kExternal;
155}
@ kExternal
Definition: geomdefs.hh:87

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