ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DicomDetectorConstruction Class Referenceabstract

#include <geant4/tree/geant4-10.6-release/examples/extended/medical/DICOM/include/DicomDetectorConstruction.hh>

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

Public Member Functions

 DicomDetectorConstruction ()
 
 ~DicomDetectorConstruction ()
 
virtual G4VPhysicalVolumeConstruct ()
 
G4int GetTotalVoxels () const
 
- 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, G4float 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.

View newest version in sPHENIX GitHub at line 66 of file DicomDetectorConstruction.hh

Constructor & Destructor Documentation

DicomDetectorConstruction::DicomDetectorConstruction ( )

Definition at line 61 of file DicomDetectorConstruction.cc.

View newest version in sPHENIX GitHub at line 61 of file DicomDetectorConstruction.cc

DicomDetectorConstruction::~DicomDetectorConstruction ( )

Definition at line 90 of file DicomDetectorConstruction.cc.

View newest version in sPHENIX GitHub at line 90 of file DicomDetectorConstruction.cc

Member Function Documentation

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

Definition at line 823 of file DicomDetectorConstruction.cc.

View newest version in sPHENIX GitHub at line 823 of file DicomDetectorConstruction.cc

References cm3, Acts::UnitConstants::g, G4Material::GetElement(), G4Material::GetFractionVector(), G4Material::GetNumberOfElements(), kStateUndefined, and source.hepunit::STP_Temperature.

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 95 of file DicomDetectorConstruction.cc.

View newest version in sPHENIX GitHub at line 95 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 894 of file DicomDetectorConstruction.cc.

View newest version in sPHENIX GitHub at line 894 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 954 of file DicomDetectorConstruction.cc.

View newest version in sPHENIX GitHub at line 954 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:

G4int DicomDetectorConstruction::GetTotalVoxels ( ) const
inline

Definition at line 158 of file DicomDetectorConstruction.hh.

View newest version in sPHENIX GitHub at line 158 of file DicomDetectorConstruction.hh

References fNVoxelX, fNVoxelY, and fNVoxelZ.

void DicomDetectorConstruction::InitialisationOfMaterials ( )
protected

Definition at line 138 of file DicomDetectorConstruction.cc.

View newest version in sPHENIX GitHub at line 138 of file DicomDetectorConstruction.cc

References a, G4Material::AddElement(), cm3, fAir, fOriginalMaterials, Acts::UnitConstants::g, G4cout, G4endl, mg, mole, perCent, 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 812 of file DicomDetectorConstruction.cc.

View newest version in sPHENIX GitHub at line 812 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 659 of file DicomDetectorConstruction.cc.

View newest version in sPHENIX GitHub at line 659 of file DicomDetectorConstruction.cc

References FatalException, test::fname, fNoFiles, G4Exception(), DicomHandler::GetDicomDataFile(), 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 693 of file DicomDetectorConstruction.cc.

View newest version in sPHENIX GitHub at line 693 of file DicomDetectorConstruction.cc

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

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 456 of file DicomDetectorConstruction.cc.

View newest version in sPHENIX GitHub at line 456 of file DicomDetectorConstruction.cc

References G4UIcommand::ConvertToString(), FatalErrorInArgument, FatalException, fin, 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(), G4TrackingService::nMaterials, 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 545 of file DicomDetectorConstruction.cc.

View newest version in sPHENIX GitHub at line 545 of file DicomDetectorConstruction.cc

References BuildMaterialWithChangingDensity(), CLHEP::cm3, G4UIcommand::ConvertToDouble(), G4UIcommand::ConvertToString(), DBL_MAX, e, matInfo::fId, fMateIDs, fMaterials, matInfo::fNvoxels, fNVoxelX, fNVoxelY, fNVoxelZ, matInfo::fSumdens, CLHEP::g, G4cout, G4endl, part, 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 942 of file DicomDetectorConstruction.cc.

View newest version in sPHENIX GitHub at line 942 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 153 of file DicomDetectorConstruction.hh.

View newest version in sPHENIX GitHub at line 153 of file DicomDetectorConstruction.hh

Referenced by Construct().

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

Definition at line 131 of file DicomDetectorConstruction.hh.

View newest version in sPHENIX GitHub at line 131 of file DicomDetectorConstruction.hh

Referenced by ReadPhantomDataFile().

G4double DicomDetectorConstruction::fMaxX
protected

Definition at line 143 of file DicomDetectorConstruction.hh.

View newest version in sPHENIX GitHub at line 143 of file DicomDetectorConstruction.hh

Referenced by ConstructPhantomContainerNew(), and ReadPhantomDataNew().

G4double DicomDetectorConstruction::fMaxY
protected

Definition at line 143 of file DicomDetectorConstruction.hh.

View newest version in sPHENIX GitHub at line 143 of file DicomDetectorConstruction.hh

Referenced by ConstructPhantomContainerNew(), and ReadPhantomDataNew().

G4double DicomDetectorConstruction::fMaxZ
protected

Definition at line 143 of file DicomDetectorConstruction.hh.

View newest version in sPHENIX GitHub at line 143 of file DicomDetectorConstruction.hh

Referenced by ConstructPhantomContainerNew(), and ReadPhantomDataNew().

DicomPhantomZSliceMerged* DicomDetectorConstruction::fMergedSlices
protected

Definition at line 149 of file DicomDetectorConstruction.hh.

View newest version in sPHENIX GitHub at line 149 of file DicomDetectorConstruction.hh

G4double DicomDetectorConstruction::fMinX
protected

Definition at line 142 of file DicomDetectorConstruction.hh.

View newest version in sPHENIX GitHub at line 142 of file DicomDetectorConstruction.hh

Referenced by ConstructPhantomContainerNew(), and ReadPhantomDataNew().

G4double DicomDetectorConstruction::fMinY
protected

Definition at line 142 of file DicomDetectorConstruction.hh.

View newest version in sPHENIX GitHub at line 142 of file DicomDetectorConstruction.hh

Referenced by ConstructPhantomContainerNew(), and ReadPhantomDataNew().

G4double DicomDetectorConstruction::fMinZ
protected

Definition at line 142 of file DicomDetectorConstruction.hh.

View newest version in sPHENIX GitHub at line 142 of file DicomDetectorConstruction.hh

Referenced by ConstructPhantomContainerNew(), and ReadPhantomDataNew().

G4int DicomDetectorConstruction::fNoFiles
protected

Definition at line 123 of file DicomDetectorConstruction.hh.

View newest version in sPHENIX GitHub at line 123 of file DicomDetectorConstruction.hh

Referenced by ReadPhantomData(), and ReadPhantomDataFile().

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

Definition at line 151 of file DicomDetectorConstruction.hh.

View newest version in sPHENIX GitHub at line 151 of file DicomDetectorConstruction.hh

Referenced by ConstructSDandField(), and SetScorer().

G4VPhysicalVolume* DicomDetectorConstruction::fWorld_phys
protected

Definition at line 117 of file DicomDetectorConstruction.hh.

View newest version in sPHENIX GitHub at line 117 of file DicomDetectorConstruction.hh

Referenced by Construct().

G4Box* DicomDetectorConstruction::fWorld_solid
protected

Definition at line 115 of file DicomDetectorConstruction.hh.

View newest version in sPHENIX GitHub at line 115 of file DicomDetectorConstruction.hh

Referenced by Construct().

DicomPhantomZSliceHeader* DicomDetectorConstruction::fZSliceHeaderMerged
protected

Definition at line 137 of file DicomDetectorConstruction.hh.

View newest version in sPHENIX GitHub at line 137 of file DicomDetectorConstruction.hh

Referenced by ConstructPhantomContainer(), and MergeZSliceHeaders().

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

Definition at line 135 of file DicomDetectorConstruction.hh.

View newest version in sPHENIX GitHub at line 135 of file DicomDetectorConstruction.hh

Referenced by MergeZSliceHeaders(), and ReadPhantomDataFile().

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

Definition at line 145 of file DicomDetectorConstruction.hh.

View newest version in sPHENIX GitHub at line 145 of file DicomDetectorConstruction.hh

Referenced by ReadPhantomDataNew(), and ReadVoxelDensities().


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