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

#include <geant4/tree/geant4-10.6-release/examples/extended/medical/dna/dnadamage1/include/DNAParser.hh>

+ Collaboration diagram for DNAParser:

Classes

struct  Molecule
 

Public Types

using GeoData = std::unordered_map< const G4VPhysicalVolume *, DNAVolumeType >
 

Public Member Functions

 DNAParser ()
 
 ~DNAParser ()
 
G4LogicalVolumeCreateLogicVolume ()
 
G4double GetVoxelSize ()
 
std::unique_ptr< G4MoleculeGunReleaseMoleculeGun ()
 
GeoData ReleaseGeoData ()
 
void ParseFile (const std::string &)
 

Private Member Functions

void EnumParser ()
 
G4VSolidCreateCutSolid (G4Orb *, Molecule &, std::vector< Molecule > &, G4bool)
 

Private Attributes

G4double fSize
 
std::string fGeoName
 
std::map< G4String, G4doublefRadiusMap
 
std::map< G4String, G4doublefWaterRadiusMap
 
std::vector< MoleculefMolecules
 
G4MaterialfpWater
 
std::unique_ptr< G4MoleculeGunfpGun
 
std::map< std::string,
DNAVolumeType
fEnumMap
 
GeoData fGeometryMap
 

Detailed Description

Definition at line 48 of file DNAParser.hh.

View newest version in sPHENIX GitHub at line 48 of file DNAParser.hh

Member Typedef Documentation

using DNAParser::GeoData = std::unordered_map<const G4VPhysicalVolume*, DNAVolumeType>

Definition at line 52 of file DNAParser.hh.

View newest version in sPHENIX GitHub at line 52 of file DNAParser.hh

Constructor & Destructor Documentation

DNAParser::DNAParser ( )

Definition at line 80 of file DNAParser.cc.

View newest version in sPHENIX GitHub at line 80 of file DNAParser.cc

References EnumParser().

+ Here is the call graph for this function:

DNAParser::~DNAParser ( )
default

Member Function Documentation

G4VSolid * DNAParser::CreateCutSolid ( G4Orb pSolidOrbRef,
Molecule molRef,
std::vector< Molecule > &  molList,
G4bool  in 
)
private

Definition at line 397 of file DNAParser.cc.

View newest version in sPHENIX GitHub at line 397 of file DNAParser.cc

References kdfinder::abs(), d, FatalException, DNAParser::Molecule::fPosition, DNAParser::Molecule::fRadius, DNAParser::Molecule::fRadiusWater, fSize, G4Exception(), CLHEP::Hep3Vector::getR(), CLHEP::Hep3Vector::getX(), CLHEP::Hep3Vector::getY(), CLHEP::Hep3Vector::getZ(), G4Box::GetZHalfLength(), nm, phi, CLHEP::pi, pos(), CLHEP::HepRotation::rotate(), CLHEP::Hep3Vector::rotateZ(), theta(), CLHEP::Hep3Vector::x(), CLHEP::Hep3Vector::y(), and CLHEP::Hep3Vector::z().

Referenced by CreateLogicVolume().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4LogicalVolume * DNAParser::CreateLogicVolume ( )

Definition at line 95 of file DNAParser.cc.

View newest version in sPHENIX GitHub at line 95 of file DNAParser.cc

References CreateCutSolid(), e, FatalException, fEnumMap, fGeometryMap, fGeoName, G4NistManager::FindOrBuildMaterial(), fMolecules, fpWater, fRadiusMap, fSize, fWaterRadiusMap, G4Exception(), G4NistManager::Instance(), it, nm, position, and radius.

+ Here is the call graph for this function:

void DNAParser::EnumParser ( )
private

Definition at line 684 of file DNAParser.cc.

View newest version in sPHENIX GitHub at line 684 of file DNAParser.cc

References base_adenine, base_adenine_water, base_cytosine, base_cytosine_water, base_guanine, base_guanine_water, base_thymine, base_thymine_water, deoxyribose1, deoxyribose1_water, deoxyribose2, deoxyribose2_water, fEnumMap, histone, phosphate1, phosphate1_water, phosphate2, phosphate2_water, physWorld, and VoxelStraight.

Referenced by DNAParser().

+ Here is the caller graph for this function:

G4double DNAParser::GetVoxelSize ( )
void DNAParser::ParseFile ( const std::string &  fileName)

Definition at line 257 of file DNAParser.cc.

View newest version in sPHENIX GitHub at line 257 of file DNAParser.cc

References base_adenine, base_cytosine, base_guanine, base_thymine, deoxyribose1, deoxyribose2, FatalException, fEnumMap, fGeoName, file, fMolecules, fpGun, fRadiusMap, fSize, fWaterRadiusMap, G4Exception(), histone, material(), molecule(), nm, phosphate1, phosphate2, picosecond, radius, x, y, and z.

+ Here is the call graph for this function:

GeoData DNAParser::ReleaseGeoData ( )
inline

Definition at line 63 of file DNAParser.hh.

View newest version in sPHENIX GitHub at line 63 of file DNAParser.hh

References fGeometryMap.

std::unique_ptr<G4MoleculeGun> DNAParser::ReleaseMoleculeGun ( )
inline

Definition at line 58 of file DNAParser.hh.

View newest version in sPHENIX GitHub at line 58 of file DNAParser.hh

References fpGun.

Member Data Documentation

std::map<std::string, DNAVolumeType> DNAParser::fEnumMap
private

Definition at line 79 of file DNAParser.hh.

View newest version in sPHENIX GitHub at line 79 of file DNAParser.hh

Referenced by CreateLogicVolume(), EnumParser(), and ParseFile().

GeoData DNAParser::fGeometryMap
private

Definition at line 80 of file DNAParser.hh.

View newest version in sPHENIX GitHub at line 80 of file DNAParser.hh

Referenced by CreateLogicVolume(), and ReleaseGeoData().

std::string DNAParser::fGeoName
private

Definition at line 73 of file DNAParser.hh.

View newest version in sPHENIX GitHub at line 73 of file DNAParser.hh

Referenced by CreateLogicVolume(), and ParseFile().

std::vector<Molecule> DNAParser::fMolecules
private

Definition at line 76 of file DNAParser.hh.

View newest version in sPHENIX GitHub at line 76 of file DNAParser.hh

Referenced by CreateLogicVolume(), and ParseFile().

std::unique_ptr<G4MoleculeGun> DNAParser::fpGun
private

Definition at line 78 of file DNAParser.hh.

View newest version in sPHENIX GitHub at line 78 of file DNAParser.hh

Referenced by ParseFile(), and ReleaseMoleculeGun().

G4Material* DNAParser::fpWater
private

Definition at line 77 of file DNAParser.hh.

View newest version in sPHENIX GitHub at line 77 of file DNAParser.hh

Referenced by CreateLogicVolume().

std::map<G4String, G4double> DNAParser::fRadiusMap
private

Definition at line 74 of file DNAParser.hh.

View newest version in sPHENIX GitHub at line 74 of file DNAParser.hh

Referenced by CreateLogicVolume(), and ParseFile().

G4double DNAParser::fSize
private

Definition at line 72 of file DNAParser.hh.

View newest version in sPHENIX GitHub at line 72 of file DNAParser.hh

Referenced by CreateCutSolid(), CreateLogicVolume(), and ParseFile().

std::map<G4String, G4double> DNAParser::fWaterRadiusMap
private

Definition at line 75 of file DNAParser.hh.

View newest version in sPHENIX GitHub at line 75 of file DNAParser.hh

Referenced by CreateLogicVolume(), and ParseFile().


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