49 const G4int nReplicas,
62 std::ostringstream message;
63 message <<
"NULL pointer specified as mother volume." <<
G4endl
64 <<
"The world volume cannot be sliced or parameterised !";
65 G4Exception(
"G4PVReplica::G4PVReplica()",
"GeomVol0002",
70 if (pLogical == motherLogical)
72 G4Exception(
"G4PVReplica::G4PVReplica()",
"GeomVol0002",
80 std::ostringstream message;
81 message <<
"Replica or parameterised volume must be the only daughter !"
83 <<
" Mother physical volume: " << pMother->
GetName() <<
G4endl
84 <<
" Replicated volume: " << pName;
85 G4Exception(
"G4PVReplica::G4PVReplica()",
"GeomVol0002",
96 const G4int nReplicas,
107 std::ostringstream message;
108 message <<
"NULL pointer specified as mother volume for "
110 G4Exception(
"G4PVReplica::G4PVReplica()",
"GeomVol0002",
114 if (pLogical == pMotherLogical)
116 G4Exception(
"G4PVReplica::G4PVReplica()",
"GeomVol0002",
124 std::ostringstream message;
125 message <<
"Replica or parameterised volume must be the only daughter !"
127 <<
" Mother logical volume: " << pMotherLogical->
GetName()
129 <<
" Replicated volume: " << pName;
130 G4Exception(
"G4PVReplica::G4PVReplica()",
"GeomVol0002",
138 const G4int nReplicas,
144 G4Exception(
"G4PVReplica::CheckAndSetParameters()",
"GeomVol0002",
150 G4Exception(
"G4PVReplica::CheckAndSetParameters()",
"GeomVol0002",
166 G4Exception(
"G4PVReplica::CheckAndSetParameters()",
"GeomVol0003",
178 G4Exception(
"G4PVReplica::CheckAndSetParameters()",
"GeomVol0002",
186 foffset(0.), fRegularStructureCode(0), fRegularVolsId(0)
299 G4Exception(
"G4PVReplica::InitialiseWorker(...)",
"GeomVol0003",
311 G4Exception(
"G4PVReplica::InitialiseWorker(...)",
"GeomVol0002",
void TerminateWorker(G4PVReplica *pMasterObject)
G4PVReplica(const G4String &pName, G4LogicalVolume *pLogical, G4LogicalVolume *pMother, const EAxis pAxis, const G4int nReplicas, const G4double width, const G4double offset=0)
CLHEP::Hep3Vector G4ThreeVector
CLHEP::HepRotation G4RotationMatrix
virtual void GetReplicationData(EAxis &axis, G4int &nReplicas, G4double &width, G4double &offset, G4bool &consuming) const
virtual void SetRegularStructureId(G4int Code)
G4bool IsRegularStructure() const
static G4GEOM_DLL G4PVRManager subInstanceManager
G4int CreateSubInstance()
virtual G4int GetCopyNo() const
G4bool IsReplicated() const
void SetRotation(G4RotationMatrix *)
static const G4PVRManager & GetSubInstanceManager()
virtual G4bool IsParameterised() const
void InitialiseWorker(G4VPhysicalVolume *pMasterObject, G4RotationMatrix *pRot, const G4ThreeVector &tlate)
const G4String & GetName() const
void InitialiseWorker(G4PVReplica *pMasterObject)
virtual G4VPVParameterisation * GetParameterisation() const
void SlaveCopySubInstanceArray()
G4int GetNoDaughters() const
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
G4LogicalVolume * GetLogicalVolume() const
void CheckAndSetParameters(const EAxis pAxis, const G4int nReplicas, const G4double width, const G4double offset)
virtual G4int GetMultiplicity() const
const G4RotationMatrix * GetRotation() const
virtual void SetCopyNo(G4int CopyNo)
void SetMotherLogical(G4LogicalVolume *pMother)
const G4String & GetName() const
void AddDaughter(G4VPhysicalVolume *p)
G4int GetRegularStructureId() const