Warning, /geant4/examples/extended/medical/DICOM/DICOM2/README.md is written in an unsupported language. File is not indexed.
0001 \page ExampleDICOM2 Example DICOM2
0002
0003 # DICOM2 Example
0004
0005 ## Introduction
0006
0007 This example demonstrates how to inherit from the DICOM example.
0008 For more information on the DICOM example, see the README in
0009 the DICOM example. In addition to demonstrating inheritance from DICOM,
0010 this example demonstrates method for memory savings, scoring into a sequential
0011 container instead of an associative container, accumulating the scoring
0012 with a statistics class instead of a simple floating point, and generic iteration
0013 over the variety of scoring container storage variants provided by Geant4
0014
0015 ## Class Overview
0016
0017 - Dicom2Run:
0018 - How to save memory with G4VTHitsVector instead of G4THitsMap
0019 - How to implement G4VTHitsVector with objects instead of pointers (saving more memory)
0020 - How to use G4StatAnalysis within G4VTHitsVector (or G4VTHitsMap) to obtain per-voxel
0021 statistics
0022 - G4StatAnalysis provides standard deviation, mean, variance, relative error,
0023 FOM, r2int, r2eff, coefficient of variant, and efficiency in a class that
0024 consumes significantly less memory than G4ConvergenceTester
0025 - Implements scoring accumulation over the course of a run in
0026 G4VTHitsVector<G4StatAnalysis, std::vector<G4StatAnalysis>> Dicom2RunVector
0027 - The first template parameter is the type of the data (i.e. double, G4StatAnalysis, etc.)
0028 and the second template parameter is the underlying storage type -- by
0029 specifying std::vector<G4StatAnalysis>, we override the default storage
0030 format of std::vector<G4StatAnalysis*> which results in memory savings
0031 - Dicom2RunAction:
0032 - Overloads EndOfRunAction(const G4Run*) to print out the same quantities
0033 as DICOM but with the G4StatAnalysis class
0034 - Demonstrates generic iteration of hits containers
0035 - The new iteration scheme over hits containers works
0036 regardless of whether the underlying storage type is a map, multimap, unordered_map,
0037 unordered_multimap, vector, or deque and regardless of whether the data
0038 type stored in the sequential container types (vector and deque) are an object or
0039 or a pointer to an object
0040 - Dicom2PrimaryGeneratorAction:
0041 - Minor variation of DicomPrimaryGeneratorAction that randomizes the initial
0042 direction of the particle
0043 - Dicom2ActionInitialization:
0044 - In addition Dicom2RunAction and Dicom2PrimaryGeneratorAction, this class
0045 instantiates DicomEventAction