41 const G4int nReplicas,
45 fcopyNo(-1), fRegularVolsId(0)
49 std::ostringstream message;
50 message <<
"NULL pointer specified as mother volume." <<
G4endl
51 <<
"The world volume cannot be sliced or parameterised !";
52 G4Exception(
"G4PVReplica::G4PVReplica()",
"GeomVol0002",
57 if (pLogical == motherLogical)
59 G4Exception(
"G4PVReplica::G4PVReplica()",
"GeomVol0002",
67 std::ostringstream message;
68 message <<
"Replica or parameterised volume must be the only daughter !"
70 <<
" Mother physical volume: " << pMother->
GetName() <<
G4endl
71 <<
" Replicated volume: " << pName;
72 G4Exception(
"G4PVReplica::G4PVReplica()",
"GeomVol0002",
76 CheckAndSetParameters (pAxis, nReplicas, width, offset);
83 const G4int nReplicas,
87 fcopyNo(-1), fRegularVolsId(0)
91 std::ostringstream message;
92 message <<
"NULL pointer specified as mother volume for "
94 G4Exception(
"G4PVReplica::G4PVReplica()",
"GeomVol0002",
98 if (pLogical == pMotherLogical)
100 G4Exception(
"G4PVReplica::G4PVReplica()",
"GeomVol0002",
108 std::ostringstream message;
109 message <<
"Replica or parameterised volume must be the only daughter !"
111 <<
" Mother logical volume: " << pMotherLogical->
GetName()
113 <<
" Replicated volume: " << pName;
114 G4Exception(
"G4PVReplica::G4PVReplica()",
"GeomVol0002",
118 CheckAndSetParameters (pAxis, nReplicas, width, offset);
121void G4PVReplica::CheckAndSetParameters(
const EAxis pAxis,
122 const G4int nReplicas,
128 G4Exception(
"G4PVReplica::CheckAndSetParameters()",
"GeomVol0002",
134 G4Exception(
"G4PVReplica::CheckAndSetParameters()",
"GeomVol0002",
150 G4Exception(
"G4PVReplica::CheckAndSetParameters()",
"GeomVol0003",
162 G4Exception(
"G4PVReplica::CheckAndSetParameters()",
"GeomVol0002",
170 foffset(0.), fcopyNo(-1), fRegularStructureCode(0), fRegularVolsId(0)
234 return (fRegularVolsId!=0);
239 return fRegularVolsId;
244 fRegularVolsId=
Code;
CLHEP::HepRotation G4RotationMatrix
G4int GetNoDaughters() const
void AddDaughter(G4VPhysicalVolume *p)
G4int GetRegularStructureId() const
virtual void SetCopyNo(G4int CopyNo)
G4bool IsReplicated() const
G4PVReplica(const G4String &pName, G4LogicalVolume *pLogical, G4LogicalVolume *pMother, const EAxis pAxis, const G4int nReplicas, const G4double width, const G4double offset=0)
virtual G4int GetMultiplicity() const
virtual G4VPVParameterisation * GetParameterisation() const
virtual void GetReplicationData(EAxis &axis, G4int &nReplicas, G4double &width, G4double &offset, G4bool &consuming) const
virtual G4bool IsParameterised() const
G4bool IsRegularStructure() const
virtual G4int GetCopyNo() const
virtual void SetRegularStructureId(G4int Code)
const G4RotationMatrix * GetRotation() const
G4LogicalVolume * GetLogicalVolume() const
const G4String & GetName() const
void SetRotation(G4RotationMatrix *)
void SetMotherLogical(G4LogicalVolume *pMother)
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)