Geant4  10.01
G4ReplicatedSlice Class Reference

#include <G4ReplicatedSlice.hh>

+ Inheritance diagram for G4ReplicatedSlice:
+ Collaboration diagram for G4ReplicatedSlice:

Public Member Functions

 G4ReplicatedSlice (const G4String &pName, G4LogicalVolume *pLogical, G4LogicalVolume *pMotherLogical, const EAxis pAxis, const G4int nReplicas, const G4double width, const G4double half_gap, const G4double offset)
 
 G4ReplicatedSlice (const G4String &pName, G4LogicalVolume *pLogical, G4LogicalVolume *pMotherLogical, const EAxis pAxis, const G4int nReplicas, const G4double half_gap, const G4double offset)
 
 G4ReplicatedSlice (const G4String &pName, G4LogicalVolume *pLogical, G4LogicalVolume *pMotherLogical, const EAxis pAxis, const G4double width, const G4double half_gap, const G4double offset)
 
 G4ReplicatedSlice (const G4String &pName, G4LogicalVolume *pLogical, G4VPhysicalVolume *pMotherPhysical, const EAxis pAxis, const G4int nReplicas, const G4double width, const G4double half_gap, const G4double offset)
 
 G4ReplicatedSlice (const G4String &pName, G4LogicalVolume *pLogical, G4VPhysicalVolume *pMotherPhysical, const EAxis pAxis, const G4int nReplicas, const G4double half_gap, const G4double offset)
 
 G4ReplicatedSlice (const G4String &pName, G4LogicalVolume *pLogical, G4VPhysicalVolume *pMotherPhysical, const EAxis pAxis, const G4double width, const G4double half_gap, const G4double offset)
 
virtual ~G4ReplicatedSlice ()
 
virtual G4bool IsMany () const
 
virtual G4int GetCopyNo () const
 
virtual void SetCopyNo (G4int CopyNo)
 
virtual G4bool IsReplicated () const
 
virtual G4VPVParameterisation * GetParameterisation () const
 
virtual void GetReplicationData (EAxis &axis, G4int &nReplicas, G4double &width, G4double &offset, G4bool &consuming) const
 
EAxis GetDivisionAxis () const
 
G4bool IsParameterised () const
 
G4bool IsRegularStructure () const
 
G4int GetRegularStructureId () const
 
- Public Member Functions inherited from G4VPhysicalVolume
 G4VPhysicalVolume (G4RotationMatrix *pRot, const G4ThreeVector &tlate, const G4String &pName, G4LogicalVolume *pLogical, G4VPhysicalVolume *pMother)
 
virtual ~G4VPhysicalVolume ()
 
G4bool operator== (const G4VPhysicalVolume &p) const
 
G4RotationMatrix * GetObjectRotation () const
 
G4RotationMatrix GetObjectRotationValue () const
 
G4ThreeVector GetObjectTranslation () const
 
const G4RotationMatrix * GetFrameRotation () const
 
G4ThreeVector GetFrameTranslation () const
 
const G4ThreeVector & GetTranslation () const
 
const G4RotationMatrix * GetRotation () const
 
void SetTranslation (const G4ThreeVector &v)
 
G4RotationMatrix * GetRotation ()
 
void SetRotation (G4RotationMatrix *)
 
G4LogicalVolume * GetLogicalVolume () const
 
void SetLogicalVolume (G4LogicalVolume *pLogical)
 
G4LogicalVolume * GetMotherLogical () const
 
void SetMotherLogical (G4LogicalVolume *pMother)
 
const G4String & GetName () const
 
void SetName (const G4String &pName)
 
EVolume VolumeType () const
 
virtual G4int GetMultiplicity () const
 
virtual G4bool CheckOverlaps (G4int res=1000, G4double tol=0., G4bool verbose=true, G4int errMax=1)
 
 G4VPhysicalVolume (__void__ &)
 
G4int GetInstanceID () const
 

Protected Attributes

EAxis faxis
 
EAxis fdivAxis
 
G4int fnReplicas
 
G4double fwidth
 
G4double foffset
 
G4int fcopyNo
 
G4VDivisionParameterisation * fparam
 
- Protected Attributes inherited from G4VPhysicalVolume
G4int instanceID
 

Private Member Functions

void CheckAndSetParameters (const EAxis pAxis, const G4int nDivs, const G4double width, const G4double half_gap, const G4double offset, DivisionType divType, G4LogicalVolume *pMotherLogical, const G4LogicalVolume *pLogical)
 
void SetParameterisation (G4LogicalVolume *motherLogical, const EAxis pAxis, const G4int nReplicas, const G4double width, const G4double half_gap, const G4double offset, DivisionType divType)
 
void ErrorInAxis (EAxis axis, G4VSolid *solid)
 
 G4ReplicatedSlice (const G4ReplicatedSlice &)
 
const G4ReplicatedSlice & operator= (const G4ReplicatedSlice &)
 

Additional Inherited Members

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

Detailed Description

Definition at line 71 of file G4ReplicatedSlice.hh.

Constructor & Destructor Documentation

G4ReplicatedSlice::G4ReplicatedSlice ( const G4String &  pName,
G4LogicalVolume *  pLogical,
G4LogicalVolume *  pMotherLogical,
const EAxis  pAxis,
const G4int  nReplicas,
const G4double  width,
const G4double  half_gap,
const G4double  offset 
)

Definition at line 44 of file G4ReplicatedSlice.cc.

References CheckAndSetParameters(), and DivNDIVandWIDTH.

+ Here is the call graph for this function:

G4ReplicatedSlice::G4ReplicatedSlice ( const G4String &  pName,
G4LogicalVolume *  pLogical,
G4LogicalVolume *  pMotherLogical,
const EAxis  pAxis,
const G4int  nReplicas,
const G4double  half_gap,
const G4double  offset 
)

Definition at line 59 of file G4ReplicatedSlice.cc.

References CheckAndSetParameters(), and DivNDIV.

+ Here is the call graph for this function:

G4ReplicatedSlice::G4ReplicatedSlice ( const G4String &  pName,
G4LogicalVolume *  pLogical,
G4LogicalVolume *  pMotherLogical,
const EAxis  pAxis,
const G4double  width,
const G4double  half_gap,
const G4double  offset 
)

Definition at line 73 of file G4ReplicatedSlice.cc.

References CheckAndSetParameters(), and DivWIDTH.

+ Here is the call graph for this function:

G4ReplicatedSlice::G4ReplicatedSlice ( const G4String &  pName,
G4LogicalVolume *  pLogical,
G4VPhysicalVolume *  pMotherPhysical,
const EAxis  pAxis,
const G4int  nReplicas,
const G4double  width,
const G4double  half_gap,
const G4double  offset 
)

Definition at line 87 of file G4ReplicatedSlice.cc.

References CheckAndSetParameters(), DivNDIVandWIDTH, and G4VPhysicalVolume::GetLogicalVolume().

+ Here is the call graph for this function:

G4ReplicatedSlice::G4ReplicatedSlice ( const G4String &  pName,
G4LogicalVolume *  pLogical,
G4VPhysicalVolume *  pMotherPhysical,
const EAxis  pAxis,
const G4int  nReplicas,
const G4double  half_gap,
const G4double  offset 
)

Definition at line 102 of file G4ReplicatedSlice.cc.

References CheckAndSetParameters(), DivNDIV, and G4VPhysicalVolume::GetLogicalVolume().

+ Here is the call graph for this function:

G4ReplicatedSlice::G4ReplicatedSlice ( const G4String &  pName,
G4LogicalVolume *  pLogical,
G4VPhysicalVolume *  pMotherPhysical,
const EAxis  pAxis,
const G4double  width,
const G4double  half_gap,
const G4double  offset 
)

Definition at line 116 of file G4ReplicatedSlice.cc.

References CheckAndSetParameters(), DivWIDTH, and G4VPhysicalVolume::GetLogicalVolume().

+ Here is the call graph for this function:

G4ReplicatedSlice::~G4ReplicatedSlice ( )
virtual

Definition at line 249 of file G4ReplicatedSlice.cc.

References G4VPhysicalVolume::GetRotation().

+ Here is the call graph for this function:

G4ReplicatedSlice::G4ReplicatedSlice ( const G4ReplicatedSlice &  )
private

Member Function Documentation

void G4ReplicatedSlice::CheckAndSetParameters ( const EAxis  pAxis,
const G4int  nDivs,
const G4double  width,
const G4double  half_gap,
const G4double  offset,
DivisionType  divType,
G4LogicalVolume *  pMotherLogical,
const G4LogicalVolume *  pLogical 
)
private

!!!! axis has to be x/y/z in G4VoxelLimits::GetMinExtent

Definition at line 131 of file G4ReplicatedSlice.cc.

References G4LogicalVolume::AddDaughter(), DivNDIV, DivWIDTH, FatalException, faxis, fdivAxis, fnReplicas, foffset, fparam, fwidth, G4endl, G4Exception(), G4VSolid::GetEntityType(), G4VPhysicalVolume::GetName(), G4VDivisionParameterisation::GetNoDiv(), G4LogicalVolume::GetSolid(), G4VDivisionParameterisation::GetWidth(), kPhi, kRadial3D, kRho, kXAxis, kYAxis, kZAxis, G4VPhysicalVolume::SetMotherLogical(), SetParameterisation(), G4VPhysicalVolume::SetRotation(), and width.

Referenced by G4ReplicatedSlice().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4ReplicatedSlice::ErrorInAxis ( EAxis  axis,
G4VSolid *  solid 
)
private

Definition at line 497 of file G4ReplicatedSlice.cc.

References error, FatalException, G4Exception(), G4VSolid::GetEntityType(), G4VSolid::GetName(), kPhi, kRadial3D, kRho, kXAxis, kYAxis, and kZAxis.

Referenced by SetParameterisation().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4int G4ReplicatedSlice::GetCopyNo ( ) const
virtual

Implements G4VPhysicalVolume.

Definition at line 273 of file G4ReplicatedSlice.cc.

References fcopyNo.

EAxis G4ReplicatedSlice::GetDivisionAxis ( ) const

Definition at line 255 of file G4ReplicatedSlice.cc.

References fdivAxis.

G4VPVParameterisation * G4ReplicatedSlice::GetParameterisation ( ) const
virtual

Implements G4VPhysicalVolume.

Definition at line 291 of file G4ReplicatedSlice.cc.

References fparam.

G4int G4ReplicatedSlice::GetRegularStructureId ( ) const
virtual

Implements G4VPhysicalVolume.

Definition at line 542 of file G4ReplicatedSlice.cc.

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

Implements G4VPhysicalVolume.

Definition at line 297 of file G4ReplicatedSlice.cc.

References faxis, fnReplicas, foffset, and fwidth.

G4bool G4ReplicatedSlice::IsMany ( ) const
virtual

Implements G4VPhysicalVolume.

Definition at line 267 of file G4ReplicatedSlice.cc.

G4bool G4ReplicatedSlice::IsParameterised ( ) const
virtual

Implements G4VPhysicalVolume.

Definition at line 261 of file G4ReplicatedSlice.cc.

G4bool G4ReplicatedSlice::IsRegularStructure ( ) const
virtual

Implements G4VPhysicalVolume.

Definition at line 534 of file G4ReplicatedSlice.cc.

G4bool G4ReplicatedSlice::IsReplicated ( ) const
virtual

Implements G4VPhysicalVolume.

Definition at line 285 of file G4ReplicatedSlice.cc.

const G4ReplicatedSlice& G4ReplicatedSlice::operator= ( const G4ReplicatedSlice &  )
private
void G4ReplicatedSlice::SetCopyNo ( G4int  CopyNo)
virtual

Implements G4VPhysicalVolume.

Definition at line 279 of file G4ReplicatedSlice.cc.

References fcopyNo.

void G4ReplicatedSlice::SetParameterisation ( G4LogicalVolume *  motherLogical,
const EAxis  pAxis,
const G4int  nReplicas,
const G4double  width,
const G4double  half_gap,
const G4double  offset,
DivisionType  divType 
)
private

Definition at line 312 of file G4ReplicatedSlice.cc.

References ErrorInAxis(), FatalException, fparam, G4endl, G4Exception(), G4VSolid::GetEntityType(), G4LogicalVolume::GetSolid(), kPhi, kRho, kXAxis, kYAxis, kZAxis, and G4VDivisionParameterisation::SetHalfGap().

Referenced by CheckAndSetParameters().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Member Data Documentation

EAxis G4ReplicatedSlice::faxis
protected

Definition at line 186 of file G4ReplicatedSlice.hh.

Referenced by CheckAndSetParameters(), and GetReplicationData().

G4int G4ReplicatedSlice::fcopyNo
protected

Definition at line 190 of file G4ReplicatedSlice.hh.

Referenced by GetCopyNo(), and SetCopyNo().

EAxis G4ReplicatedSlice::fdivAxis
protected

Definition at line 187 of file G4ReplicatedSlice.hh.

Referenced by CheckAndSetParameters(), and GetDivisionAxis().

G4int G4ReplicatedSlice::fnReplicas
protected

Definition at line 188 of file G4ReplicatedSlice.hh.

Referenced by CheckAndSetParameters(), and GetReplicationData().

G4double G4ReplicatedSlice::foffset
protected

Definition at line 189 of file G4ReplicatedSlice.hh.

Referenced by CheckAndSetParameters(), and GetReplicationData().

G4VDivisionParameterisation* G4ReplicatedSlice::fparam
protected
G4double G4ReplicatedSlice::fwidth
protected

Definition at line 189 of file G4ReplicatedSlice.hh.

Referenced by CheckAndSetParameters(), and GetReplicationData().


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