Geant4  10.03
DicomDetectorConstruction Class Referenceabstract

#include <DicomDetectorConstruction.hh>

+ Inheritance diagram for DicomDetectorConstruction:
+ Collaboration diagram for DicomDetectorConstruction:

Public Member Functions

 DicomDetectorConstruction ()
 
 ~DicomDetectorConstruction ()
 
virtual G4VPhysicalVolumeConstruct ()
 
- Public Member Functions inherited from G4VUserDetectorConstruction
 G4VUserDetectorConstruction ()
 
virtual ~G4VUserDetectorConstruction ()
 
virtual void CloneSD ()
 
virtual void CloneF ()
 
void RegisterParallelWorld (G4VUserParallelWorld *)
 
G4int ConstructParallelGeometries ()
 
void ConstructParallelSD ()
 
G4int GetNumberOfParallelWorld () const
 
G4VUserParallelWorldGetParallelWorld (G4int i) const
 

Protected Member Functions

void InitialisationOfMaterials ()
 
void ReadPhantomData ()
 
void ReadPhantomDataNew ()
 
void ReadVoxelDensities (std::ifstream &fin)
 
void ReadPhantomDataFile (const G4String &fname)
 
void MergeZSliceHeaders ()
 
G4MaterialBuildMaterialWithChangingDensity (const G4Material *origMate, float density, G4String newMateName)
 
void ConstructPhantomContainer ()
 
void ConstructPhantomContainerNew ()
 
virtual void ConstructPhantom ()=0
 
void SetScorer (G4LogicalVolume *voxel_logic)
 
virtual void ConstructSDandField ()
 
- Protected Member Functions inherited from G4VUserDetectorConstruction
void SetSensitiveDetector (const G4String &logVolName, G4VSensitiveDetector *aSD, G4bool multi=false)
 
void SetSensitiveDetector (G4LogicalVolume *logVol, G4VSensitiveDetector *aSD)
 

Protected Attributes

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, G4doublefDensityDiffs
 
std::vector
< DicomPhantomZSliceHeader * > 
fZSliceHeaders
 
DicomPhantomZSliceHeaderfZSliceHeaderMerged
 
G4int fNVoxelX
 
G4int fNVoxelY
 
G4int fNVoxelZ
 
G4double fVoxelHalfDimX
 
G4double fVoxelHalfDimY
 
G4double fVoxelHalfDimZ
 
G4double fMinX
 
G4double fMinY
 
G4double fMinZ
 
G4double fMaxX
 
G4double fMaxY
 
G4double fMaxZ
 
std::map< G4int, G4Material * > thePhantomMaterialsOriginal
 
DicomPhantomZSliceMergedfMergedSlices
 
std::set< G4LogicalVolume * > fScorers
 
G4bool fConstructed
 

Detailed Description

Definition at line 66 of file DicomDetectorConstruction.hh.

Constructor & Destructor Documentation

DicomDetectorConstruction::DicomDetectorConstruction ( )

Definition at line 63 of file DicomDetectorConstruction.cc.

DicomDetectorConstruction::~DicomDetectorConstruction ( )

Definition at line 93 of file DicomDetectorConstruction.cc.

Member Function Documentation

G4Material * DicomDetectorConstruction::BuildMaterialWithChangingDensity ( const G4Material origMate,
float  density,
G4String  newMateName 
)
protected

Definition at line 680 of file DicomDetectorConstruction.cc.

References G4Material::AddElement(), cm3, g, G4Material::GetElement(), G4Material::GetFractionVector(), G4Material::GetNumberOfElements(), and kStateUndefined.

Referenced by ReadPhantomDataFile(), ReadVoxelDensities(), and DicomPartialDetectorConstruction::ReadVoxelDensitiesPartial().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4VPhysicalVolume * DicomDetectorConstruction::Construct ( void  )
virtual

Implements G4VUserDetectorConstruction.

Reimplemented in DicomPartialDetectorConstruction.

Definition at line 98 of file DicomDetectorConstruction.cc.

References ConstructPhantom(), ConstructPhantomContainer(), ConstructPhantomContainerNew(), fAir, fConstructed, fWorld_logic, fWorld_phys, fWorld_solid, InitialisationOfMaterials(), m, ReadPhantomData(), and ReadPhantomDataNew().

+ Here is the call graph for this function:

virtual void DicomDetectorConstruction::ConstructPhantom ( )
protectedpure virtual

Implemented in DicomPartialDetectorConstruction, DicomRegularDetectorConstruction, and DicomNestedParamDetectorConstruction.

Referenced by Construct().

+ Here is the caller graph for this function:

void DicomDetectorConstruction::ConstructPhantomContainer ( )
protected
void DicomDetectorConstruction::ConstructPhantomContainerNew ( )
protected

Definition at line 752 of file DicomDetectorConstruction.cc.

References fContainer_logic, fContainer_phys, fContainer_solid, fMaterials, fMaxX, fMaxY, fMaxZ, fMinX, fMinY, fMinZ, fNVoxelX, fNVoxelY, fNVoxelZ, fVoxelHalfDimX, fVoxelHalfDimY, fVoxelHalfDimZ, fWorld_logic, G4cout, and G4endl.

Referenced by Construct().

+ Here is the caller graph for this function:

void DicomDetectorConstruction::ConstructSDandField ( )
protectedvirtual

Reimplemented from G4VUserDetectorConstruction.

Definition at line 813 of file DicomDetectorConstruction.cc.

References G4SDManager::AddNewDetector(), fNVoxelX, fNVoxelY, fNVoxelZ, fScorers, G4cout, G4endl, G4SDManager::GetSDMpointer(), G4MultiFunctionalDetector::RegisterPrimitive(), and G4VUserDetectorConstruction::SetSensitiveDetector().

+ Here is the call graph for this function:

void DicomDetectorConstruction::InitialisationOfMaterials ( )
protected

Definition at line 141 of file DicomDetectorConstruction.cc.

References a, G4Material::AddElement(), cm3, fAir, fOriginalMaterials, g, mg, mole, and G4InuclParticleNames::name().

Referenced by DicomPartialDetectorConstruction::Construct(), and Construct().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void DicomDetectorConstruction::MergeZSliceHeaders ( )
protected

Definition at line 669 of file DicomDetectorConstruction.cc.

References fZSliceHeaderMerged, and fZSliceHeaders.

Referenced by ReadPhantomData().

+ Here is the caller graph for this function:

void DicomDetectorConstruction::ReadPhantomData ( )
protected

Definition at line 526 of file DicomDetectorConstruction.cc.

References FatalException, fNoFiles, G4Exception(), MergeZSliceHeaders(), and ReadPhantomDataFile().

Referenced by Construct().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void DicomDetectorConstruction::ReadPhantomDataFile ( const G4String fname)
protected

Definition at line 559 of file DicomDetectorConstruction.cc.

References BuildMaterialWithChangingDensity(), G4UIcommand::ConvertToDouble(), G4UIcommand::ConvertToString(), FatalErrorInArgument, fDensityDiffs, fMateIDs, fMaterials, fNoFiles, fOriginalMaterials, fZSliceHeaders, G4cerr, G4cout, G4endl, G4Exception(), G4Material::GetName(), and DicomPhantomZSliceHeader::GetNoVoxels().

Referenced by ReadPhantomData().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void DicomDetectorConstruction::ReadPhantomDataNew ( )
protected

Definition at line 330 of file DicomDetectorConstruction.cc.

References G4UIcommand::ConvertToString(), FatalErrorInArgument, FatalException, G4NistManager::FindOrBuildMaterial(), fMateIDs, fMaxX, fMaxY, fMaxZ, fMinX, fMinY, fMinZ, fNVoxelX, fNVoxelY, fNVoxelZ, fVoxelHalfDimX, fVoxelHalfDimY, fVoxelHalfDimZ, G4cout, G4endl, G4Exception(), DicomFileMgr::GetFileOutName(), DicomFileMgr::GetInstance(), G4Material::GetMaterialTable(), G4NistManager::Instance(), ReadVoxelDensities(), and thePhantomMaterialsOriginal.

Referenced by Construct().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void DicomDetectorConstruction::ReadVoxelDensities ( std::ifstream &  fin)
protected

Definition at line 416 of file DicomDetectorConstruction.cc.

References BuildMaterialWithChangingDensity(), cm3, G4UIcommand::ConvertToDouble(), G4UIcommand::ConvertToString(), DBL_MAX, matInfo::fId, fMateIDs, fMaterials, matInfo::fNvoxels, fNVoxelX, fNVoxelY, fNVoxelZ, matInfo::fSumdens, g, G4cout, G4endl, and thePhantomMaterialsOriginal.

Referenced by ReadPhantomDataNew().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void DicomDetectorConstruction::SetScorer ( G4LogicalVolume voxel_logic)
protected

Definition at line 800 of file DicomDetectorConstruction.cc.

References fScorers, G4cout, G4endl, and G4LogicalVolume::GetName().

Referenced by DicomNestedParamDetectorConstruction::ConstructPhantom(), and DicomRegularDetectorConstruction::ConstructPhantom().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Member Data Documentation

G4bool DicomDetectorConstruction::fConstructed
protected

Definition at line 146 of file DicomDetectorConstruction.hh.

Referenced by Construct().

G4Box* DicomDetectorConstruction::fContainer_solid
protected
std::map<G4int,G4double> DicomDetectorConstruction::fDensityDiffs
protected

Definition at line 126 of file DicomDetectorConstruction.hh.

Referenced by ReadPhantomDataFile().

G4double DicomDetectorConstruction::fMaxX
protected
G4double DicomDetectorConstruction::fMaxY
protected
G4double DicomDetectorConstruction::fMaxZ
protected
DicomPhantomZSliceMerged* DicomDetectorConstruction::fMergedSlices
protected

Definition at line 142 of file DicomDetectorConstruction.hh.

G4double DicomDetectorConstruction::fMinX
protected
G4double DicomDetectorConstruction::fMinY
protected
G4double DicomDetectorConstruction::fMinZ
protected
G4int DicomDetectorConstruction::fNoFiles
protected

Definition at line 118 of file DicomDetectorConstruction.hh.

Referenced by ReadPhantomData(), and ReadPhantomDataFile().

std::vector<G4Material*> DicomDetectorConstruction::fOriginalMaterials
protected
std::set<G4LogicalVolume*> DicomDetectorConstruction::fScorers
protected

Definition at line 144 of file DicomDetectorConstruction.hh.

Referenced by ConstructSDandField(), and SetScorer().

G4VPhysicalVolume* DicomDetectorConstruction::fWorld_phys
protected

Definition at line 112 of file DicomDetectorConstruction.hh.

Referenced by Construct().

G4Box* DicomDetectorConstruction::fWorld_solid
protected

Definition at line 110 of file DicomDetectorConstruction.hh.

Referenced by Construct().

DicomPhantomZSliceHeader* DicomDetectorConstruction::fZSliceHeaderMerged
protected

Definition at line 131 of file DicomDetectorConstruction.hh.

Referenced by ConstructPhantomContainer(), and MergeZSliceHeaders().

std::vector<DicomPhantomZSliceHeader*> DicomDetectorConstruction::fZSliceHeaders
protected

Definition at line 129 of file DicomDetectorConstruction.hh.

Referenced by MergeZSliceHeaders(), and ReadPhantomDataFile().

std::map<G4int,G4Material*> DicomDetectorConstruction::thePhantomMaterialsOriginal
protected

Definition at line 139 of file DicomDetectorConstruction.hh.

Referenced by ReadPhantomDataNew(), and ReadVoxelDensities().


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