Loading...
Searching...
No Matches
Public Member Functions | Private Member Functions | List of all members
DicomNestedParamDetectorConstruction Class Reference

Construct the phantom using DicomPhantomParameterisationColour. More...

#include <Doxymodules_medical.h>

Inheritance diagram for DicomNestedParamDetectorConstruction:
DicomDetectorConstruction G4VUserDetectorConstruction

Public Member Functions

 DicomNestedParamDetectorConstruction ()
 
 ~DicomNestedParamDetectorConstruction ()
 
- Public Member Functions inherited from DicomDetectorConstruction
 DicomDetectorConstruction ()
 
 ~DicomDetectorConstruction ()
 
virtual G4VPhysicalVolumeConstruct ()
 
G4int GetTotalVoxels () const
 

Private Member Functions

virtual void ConstructPhantom ()
 

Additional Inherited Members

- Protected Member Functions inherited from DicomDetectorConstruction
void InitialisationOfMaterials ()
 
void ReadPhantomData ()
 
void ReadPhantomDataNew ()
 
void ReadVoxelDensities (std::ifstream &fin)
 
void ReadPhantomDataFile (const G4String &fname)
 
void MergeZSliceHeaders ()
 
G4MaterialBuildMaterialWithChangingDensity (const G4Material *origMate, G4float density, G4String newMateName)
 
void ConstructPhantomContainer ()
 
void ConstructPhantomContainerNew ()
 
void SetScorer (G4LogicalVolume *voxel_logic)
 
virtual void ConstructSDandField ()
 
- Protected Attributes inherited from DicomDetectorConstruction
G4MaterialfAir
 
G4BoxfWorld_solid
 
G4LogicalVolumefWorld_logic
 
G4VPhysicalVolumefWorld_phys
 
G4BoxfContainer_solid
 
G4LogicalVolumefContainer_logic
 
G4VPhysicalVolumefContainer_phys
 
G4int fNoFiles
 
std::vector< G4Material * > fOriginalMaterials
 
std::vector< G4Material * > fMaterials
 
size_t * fMateIDs
 
std::map< G4int, G4double > fDensityDiffs
 
std::vector< DicomPhantomZSliceHeader * > fZSliceHeaders
 
DicomPhantomZSliceHeaderfZSliceHeaderMerged
 
G4int fNoVoxelsX
 
G4int fNoVoxelsY
 
G4int fNoVoxelsZ
 
G4double fVoxelHalfDimX
 
G4double fVoxelHalfDimY
 
G4double fVoxelHalfDimZ
 
G4double fMinX
 
G4double fMinY
 
G4double fMinZ
 
G4double fMaxX
 
G4double fMaxY
 
G4double fMaxZ
 
std::map< G4int, G4Material * > fPhantomMaterialsOriginal
 
DicomPhantomZSliceMergedfMergedSlices
 
std::set< G4LogicalVolume * > fScorers
 
G4bool fConstructed
 

Detailed Description

Construct the phantom using DicomPhantomParameterisationColour.

History: 30.11.07 First version

Author
P. Arce

Definition at line 23 of file Doxymodules_medical.h.

Constructor & Destructor Documentation

◆ DicomNestedParamDetectorConstruction()

DicomNestedParamDetectorConstruction::DicomNestedParamDetectorConstruction ( )

◆ ~DicomNestedParamDetectorConstruction()

DicomNestedParamDetectorConstruction::~DicomNestedParamDetectorConstruction ( )

Definition at line 55 of file DicomNestedParamDetectorConstruction.cc.

56{
57}

Member Function Documentation

◆ ConstructPhantom()

void DicomNestedParamDetectorConstruction::ConstructPhantom ( )
privatevirtual

Implements DicomDetectorConstruction.

Definition at line 60 of file DicomNestedParamDetectorConstruction.cc.

61{
62#ifdef G4VERBOSE
63 G4cout << "DicomNestedParamDetectorConstruction::ConstructPhantom "
64 << G4endl;
65#endif
66
67 //----- Replication of Water Phantom Volume.
68 //--- Y Slice
69 G4String yRepName("RepY");
70 G4VSolid* solYRep = new G4Box(yRepName,fNoVoxelsX*fVoxelHalfDimX,
73 G4LogicalVolume* logYRep = new G4LogicalVolume(solYRep,fAir,yRepName);
74 new G4PVReplica(yRepName,logYRep,fContainer_logic,kYAxis,
76
77 logYRep->SetVisAttributes(new G4VisAttributes(G4VisAttributes::GetInvisible()));
78
79 //--- X Slice
80 G4String xRepName("RepX");
81 G4VSolid* solXRep = new G4Box(xRepName,fVoxelHalfDimX,fVoxelHalfDimY,
83 G4LogicalVolume* logXRep = new G4LogicalVolume(solXRep,fAir,xRepName);
84 new G4PVReplica(xRepName,logXRep,logYRep,kXAxis,fNoVoxelsX,fVoxelHalfDimX*2.);
85
86 logXRep->SetVisAttributes(new G4VisAttributes(G4VisAttributes::GetInvisible()));
87
88 //----- Voxel solid and logical volumes
89 //--- Z Slice
90 G4VSolid* solVoxel = new G4Box("phantom",fVoxelHalfDimX,
92 G4LogicalVolume* logicVoxel = new G4LogicalVolume(solVoxel,fAir,"phantom");
93
94 logicVoxel->
95 SetVisAttributes(new G4VisAttributes(G4VisAttributes::GetInvisible()));
96
97 //
98 // Parameterisation for transformation of voxels.
99 // (voxel size is fixed in this example.
100 // e.g. nested parameterisation handles material
101 // and transfomation of voxels.)
102 G4ThreeVector voxelSize(fVoxelHalfDimX,fVoxelHalfDimY,fVoxelHalfDimZ);
105
106 new G4PVParameterised("phantom", // their name
107 logicVoxel, // their logical volume
108 logXRep, // Mother logical volume
109 kZAxis, // Are placed along this axis
110 //kUndefined,
111 // Are placed along this axis
112 fNoVoxelsZ, // Number of cells
113 param); // Parameterisation.
114
117
118 //phantom_phys->SetRegularStructureId(0);
119
120 // Z logical volume
121 SetScorer(logicVoxel);
122
123}
std::vector< G4Material * > fMaterials
void SetScorer(G4LogicalVolume *voxel_logic)
Implements a G4VNestedParameterisation.
void SetNoVoxels(unsigned int nx, unsigned int ny, unsigned int nz)

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

Applications | User Support | Publications | Collaboration