Geant4  10.01.p02
DicomDetectorConstruction Class Referenceabstract

Dicom detector construction. More...

#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 ReadPhantomDataFile (const G4String &fname)
 
void MergeZSliceHeaders ()
 
G4MaterialBuildMaterialWithChangingDensity (const G4Material *origMate, float density, G4String newMateName)
 
void ConstructPhantomContainer ()
 
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
 
DicomPhantomZSliceMergedmergedSlices
 
std::set< G4LogicalVolume * > scorers
 
G4bool fConstructed
 

Detailed Description

Dicom detector construction.

  • Start the building of the geometry
  • Initialisation of materials
  • Creation of the world
  • Reading of the DICOM data

History: 30.11.07 First version

Author
P. Arce

Definition at line 58 of file DicomDetectorConstruction.hh.

Constructor & Destructor Documentation

DicomDetectorConstruction::DicomDetectorConstruction ( )

Definition at line 53 of file DicomDetectorConstruction.cc.

DicomDetectorConstruction::~DicomDetectorConstruction ( )

Definition at line 83 of file DicomDetectorConstruction.cc.

Member Function Documentation

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

Definition at line 470 of file DicomDetectorConstruction.cc.

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

Referenced by ReadPhantomDataFile(), 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 88 of file DicomDetectorConstruction.cc.

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

+ 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::ConstructSDandField ( )
protectedvirtual

Reimplemented from G4VUserDetectorConstruction.

Definition at line 560 of file DicomDetectorConstruction.cc.

References fNVoxelX, fNVoxelY, fNVoxelZ, G4cout, G4endl, G4MultiFunctionalDetector::RegisterPrimitive(), scorers, and G4VUserDetectorConstruction::SetSensitiveDetector().

+ Here is the call graph for this function:

void DicomDetectorConstruction::InitialisationOfMaterials ( )
protected

Definition at line 127 of file DicomDetectorConstruction.cc.

References a, G4Material::AddElement(), cm3, density, elC, elH, elN, elO, fAir, fOriginalMaterials, g, mg, mole, name, symbol, and z.

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 459 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 317 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 350 of file DicomDetectorConstruction.cc.

References BuildMaterialWithChangingDensity(), G4UIcommand::ConvertToDouble(), G4UIcommand::ConvertToString(), density, 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::SetScorer ( G4LogicalVolume voxel_logic)
protected

Definition at line 548 of file DicomDetectorConstruction.cc.

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

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 130 of file DicomDetectorConstruction.hh.

Referenced by Construct().

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

Definition at line 115 of file DicomDetectorConstruction.hh.

Referenced by ReadPhantomDataFile().

size_t* DicomDetectorConstruction::fMateIDs
protected
G4int DicomDetectorConstruction::fNoFiles
protected

Definition at line 107 of file DicomDetectorConstruction.hh.

Referenced by ReadPhantomData(), and ReadPhantomDataFile().

std::vector<G4Material*> DicomDetectorConstruction::fOriginalMaterials
protected
G4VPhysicalVolume* DicomDetectorConstruction::fWorld_phys
protected

Definition at line 101 of file DicomDetectorConstruction.hh.

Referenced by Construct().

G4Box* DicomDetectorConstruction::fWorld_solid
protected

Definition at line 99 of file DicomDetectorConstruction.hh.

Referenced by Construct().

DicomPhantomZSliceHeader* DicomDetectorConstruction::fZSliceHeaderMerged
protected

Definition at line 120 of file DicomDetectorConstruction.hh.

Referenced by ConstructPhantomContainer(), and MergeZSliceHeaders().

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

Definition at line 118 of file DicomDetectorConstruction.hh.

Referenced by MergeZSliceHeaders(), and ReadPhantomDataFile().

DicomPhantomZSliceMerged* DicomDetectorConstruction::mergedSlices
protected

Definition at line 126 of file DicomDetectorConstruction.hh.

std::set<G4LogicalVolume*> DicomDetectorConstruction::scorers
protected

Definition at line 128 of file DicomDetectorConstruction.hh.

Referenced by ConstructSDandField(), and SetScorer().


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