Geant4  10.02.p01
RE02NestedPhantomParameterisation Class Reference

A nested parameterisation class for a phantom. More...

#include <RE02NestedPhantomParameterisation.hh>

+ Inheritance diagram for RE02NestedPhantomParameterisation:
+ Collaboration diagram for RE02NestedPhantomParameterisation:

Public Member Functions

 RE02NestedPhantomParameterisation (const G4ThreeVector &voxelSize, G4int nz, std::vector< G4Material * > &mat)
 
 ~RE02NestedPhantomParameterisation ()
 
G4MaterialComputeMaterial (G4VPhysicalVolume *currentVol, const G4int repNo, const G4VTouchable *parentTouch=0)
 
G4int GetNumberOfMaterials () const
 
G4MaterialGetMaterial (G4int idx) const
 
void ComputeTransformation (const G4int no, G4VPhysicalVolume *currentPV) const
 
void ComputeDimensions (G4Box &, const G4int, const G4VPhysicalVolume *) const
 
- Public Member Functions inherited from G4VNestedParameterisation
 G4VNestedParameterisation ()
 
virtual ~G4VNestedParameterisation ()
 
virtual G4VSolidComputeSolid (const G4int no, G4VPhysicalVolume *thisVol)
 
G4MaterialComputeMaterial (const G4int repNo, G4VPhysicalVolume *currentVol, const G4VTouchable *parentTouch=0)
 
virtual G4bool IsNested () const
 
virtual G4VVolumeMaterialScannerGetMaterialScanner ()
 
- Public Member Functions inherited from G4VPVParameterisation
 G4VPVParameterisation ()
 
virtual ~G4VPVParameterisation ()
 
- Public Member Functions inherited from G4VVolumeMaterialScanner
 G4VVolumeMaterialScanner ()
 
virtual ~G4VVolumeMaterialScanner ()
 

Private Member Functions

void ComputeDimensions (G4Trd &, const G4int, const G4VPhysicalVolume *) const
 
void ComputeDimensions (G4Trap &, const G4int, const G4VPhysicalVolume *) const
 
void ComputeDimensions (G4Cons &, const G4int, const G4VPhysicalVolume *) const
 
void ComputeDimensions (G4Sphere &, const G4int, const G4VPhysicalVolume *) const
 
void ComputeDimensions (G4Orb &, const G4int, const G4VPhysicalVolume *) const
 
void ComputeDimensions (G4Ellipsoid &, const G4int, const G4VPhysicalVolume *) const
 
void ComputeDimensions (G4Torus &, const G4int, const G4VPhysicalVolume *) const
 
void ComputeDimensions (G4Para &, const G4int, const G4VPhysicalVolume *) const
 
void ComputeDimensions (G4Hype &, const G4int, const G4VPhysicalVolume *) const
 
void ComputeDimensions (G4Tubs &, const G4int, const G4VPhysicalVolume *) const
 
void ComputeDimensions (G4Polycone &, const G4int, const G4VPhysicalVolume *) const
 
void ComputeDimensions (G4Polyhedra &, const G4int, const G4VPhysicalVolume *) const
 

Private Attributes

G4double fdX
 
G4double fdY
 
G4double fdZ
 
G4int fNz
 
std::vector< G4doublefpZ
 
std::vector< G4Material * > fMat
 

Detailed Description

A nested parameterisation class for a phantom.

(Description) This parameterisation handles material and transfomation of voxles.

  • G4Material* ComputeMaterial(G4VPhysicalVolume *currentVol, const G4int repNo, const G4VTouchable *parentTouch=0) returns material. if ix%2==0 && iy%2==0 && iz%2==0 then fMat[0] else fMat[1]
  • G4int GetNumberOfMaterials() const returns the number of material defined in fMat
  • G4Material* GetMaterial(G4int idx) const returns the i-th material of fMat
  • void ComputeTransformation(const G4int no, G4VPhysicalVolume *currentPV) const returns a transformation with the physical volume of the 2nd argument according to copyNo Its position is defined as G4ThreeVector(0.,0.,fpZ[copyNo]).
  • void ComputeDimensions(G4Box &, const G4int, const G4VPhysicalVolume *) const returns dimensions of this parameterized volume with the physical volume of the 3rd argument.

Definition at line 92 of file RE02NestedPhantomParameterisation.hh.

Constructor & Destructor Documentation

RE02NestedPhantomParameterisation::RE02NestedPhantomParameterisation ( const G4ThreeVector voxelSize,
G4int  nz,
std::vector< G4Material * > &  mat 
)

Definition at line 54 of file RE02NestedPhantomParameterisation.cc.

References iz.

RE02NestedPhantomParameterisation::~RE02NestedPhantomParameterisation ( )

Definition at line 75 of file RE02NestedPhantomParameterisation.cc.

References fpZ.

Member Function Documentation

void RE02NestedPhantomParameterisation::ComputeDimensions ( G4Box box,
const G4int  ,
const G4VPhysicalVolume  
) const
virtual

Reimplemented from G4VNestedParameterisation.

Definition at line 136 of file RE02NestedPhantomParameterisation.cc.

References G4Box::SetXHalfLength(), G4Box::SetYHalfLength(), and G4Box::SetZHalfLength().

+ Here is the call graph for this function:

void RE02NestedPhantomParameterisation::ComputeDimensions ( G4Trd ,
const G4int  ,
const G4VPhysicalVolume  
) const
inlineprivatevirtual

Reimplemented from G4VNestedParameterisation.

Definition at line 131 of file RE02NestedPhantomParameterisation.hh.

void RE02NestedPhantomParameterisation::ComputeDimensions ( G4Trap ,
const G4int  ,
const G4VPhysicalVolume  
) const
inlineprivatevirtual

Reimplemented from G4VNestedParameterisation.

Definition at line 133 of file RE02NestedPhantomParameterisation.hh.

void RE02NestedPhantomParameterisation::ComputeDimensions ( G4Cons ,
const G4int  ,
const G4VPhysicalVolume  
) const
inlineprivatevirtual

Reimplemented from G4VNestedParameterisation.

Definition at line 135 of file RE02NestedPhantomParameterisation.hh.

void RE02NestedPhantomParameterisation::ComputeDimensions ( G4Sphere ,
const G4int  ,
const G4VPhysicalVolume  
) const
inlineprivatevirtual

Reimplemented from G4VNestedParameterisation.

Definition at line 137 of file RE02NestedPhantomParameterisation.hh.

void RE02NestedPhantomParameterisation::ComputeDimensions ( G4Orb ,
const G4int  ,
const G4VPhysicalVolume  
) const
inlineprivatevirtual

Reimplemented from G4VNestedParameterisation.

Definition at line 139 of file RE02NestedPhantomParameterisation.hh.

void RE02NestedPhantomParameterisation::ComputeDimensions ( G4Ellipsoid ,
const G4int  ,
const G4VPhysicalVolume  
) const
inlineprivatevirtual

Reimplemented from G4VNestedParameterisation.

Definition at line 141 of file RE02NestedPhantomParameterisation.hh.

void RE02NestedPhantomParameterisation::ComputeDimensions ( G4Torus ,
const G4int  ,
const G4VPhysicalVolume  
) const
inlineprivatevirtual

Reimplemented from G4VNestedParameterisation.

Definition at line 143 of file RE02NestedPhantomParameterisation.hh.

void RE02NestedPhantomParameterisation::ComputeDimensions ( G4Para ,
const G4int  ,
const G4VPhysicalVolume  
) const
inlineprivatevirtual

Reimplemented from G4VNestedParameterisation.

Definition at line 145 of file RE02NestedPhantomParameterisation.hh.

void RE02NestedPhantomParameterisation::ComputeDimensions ( G4Hype ,
const G4int  ,
const G4VPhysicalVolume  
) const
inlineprivatevirtual

Reimplemented from G4VNestedParameterisation.

Definition at line 147 of file RE02NestedPhantomParameterisation.hh.

void RE02NestedPhantomParameterisation::ComputeDimensions ( G4Tubs ,
const G4int  ,
const G4VPhysicalVolume  
) const
inlineprivatevirtual

Reimplemented from G4VNestedParameterisation.

Definition at line 149 of file RE02NestedPhantomParameterisation.hh.

void RE02NestedPhantomParameterisation::ComputeDimensions ( G4Polycone ,
const G4int  ,
const G4VPhysicalVolume  
) const
inlineprivatevirtual

Reimplemented from G4VNestedParameterisation.

Definition at line 151 of file RE02NestedPhantomParameterisation.hh.

void RE02NestedPhantomParameterisation::ComputeDimensions ( G4Polyhedra ,
const G4int  ,
const G4VPhysicalVolume  
) const
inlineprivatevirtual

Reimplemented from G4VNestedParameterisation.

Definition at line 153 of file RE02NestedPhantomParameterisation.hh.

G4Material * RE02NestedPhantomParameterisation::ComputeMaterial ( G4VPhysicalVolume currentVol,
const G4int  repNo,
const G4VTouchable parentTouch = 0 
)
virtual

Implements G4VNestedParameterisation.

Definition at line 84 of file RE02NestedPhantomParameterisation.cc.

References G4VTouchable::GetReplicaNumber(), and iz.

+ Here is the call graph for this function:

void RE02NestedPhantomParameterisation::ComputeTransformation ( const G4int  no,
G4VPhysicalVolume currentPV 
) const
virtual

Implements G4VNestedParameterisation.

Definition at line 126 of file RE02NestedPhantomParameterisation.cc.

References position, and G4VPhysicalVolume::SetTranslation().

+ Here is the call graph for this function:

G4Material * RE02NestedPhantomParameterisation::GetMaterial ( G4int  idx) const
virtual

Implements G4VNestedParameterisation.

Definition at line 117 of file RE02NestedPhantomParameterisation.cc.

References fMat.

G4int RE02NestedPhantomParameterisation::GetNumberOfMaterials ( ) const
virtual

Implements G4VNestedParameterisation.

Definition at line 108 of file RE02NestedPhantomParameterisation.cc.

References fMat.

Member Data Documentation

G4double RE02NestedPhantomParameterisation::fdX
private

Definition at line 163 of file RE02NestedPhantomParameterisation.hh.

G4double RE02NestedPhantomParameterisation::fdY
private

Definition at line 163 of file RE02NestedPhantomParameterisation.hh.

G4double RE02NestedPhantomParameterisation::fdZ
private

Definition at line 163 of file RE02NestedPhantomParameterisation.hh.

std::vector<G4Material*> RE02NestedPhantomParameterisation::fMat
private

Definition at line 167 of file RE02NestedPhantomParameterisation.hh.

Referenced by GetMaterial(), and GetNumberOfMaterials().

G4int RE02NestedPhantomParameterisation::fNz
private

Definition at line 164 of file RE02NestedPhantomParameterisation.hh.

std::vector<G4double> RE02NestedPhantomParameterisation::fpZ
private

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