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

#include <geant4/tree/geant4-10.6-release/examples/advanced/medical_linac/include/ML2PhantomConstruction.hh>

+ Collaboration diagram for CML2PhantomConstruction:

Public Member Functions

 CML2PhantomConstruction (void)
 
 ~CML2PhantomConstruction (void)
 
bool Construct (G4VPhysicalVolume *PVWorld, G4int voxelX, G4int voxelY, G4int voxelZ, G4bool bOnlyVisio)
 
G4int getTotalNumberOfEvents ()
 
G4String getPhantomName ()
 
void setPhantomName (G4String val)
 
void setPhantomFileName (G4String val)
 
void applyNewCentre (G4ThreeVector val)
 
bool applyNewCentre ()
 
void addNewCentre (G4ThreeVector val)
 
void writeInfo ()
 
G4String getCurrentTranslationString ()
 

Static Public Member Functions

static CML2PhantomConstructionGetInstance (void)
 

Private Member Functions

bool design (void)
 
void createPhysicalVolumeNamesList (G4String *matNames, G4int nMatNames)
 
void createPhysicalVolumeNamesList (G4VPhysicalVolume *PV)
 

Private Attributes

CML2PhantomConstructionMessengerphantomContstructionMessenger
 
G4String phantomName
 
G4String PhantomFileName
 
G4VPhysicalVolumePVPhmWorld
 
std::vector< SvolumeNameIdvolumeNameIdLink
 
G4int idVolumeName
 
G4ThreeVector halfPhantomInsideSize
 
G4ThreeVector currentCentre
 
std::vector< G4ThreeVectorcentre
 
G4int idCurrentCentre
 
CML2Ph_FullWaterPh_fullWater
 
CML2Ph_BoxInBoxPh_BoxInBox
 
G4bool bOnlyVisio
 

Static Private Attributes

static CML2PhantomConstructioninstance = 0
 

Detailed Description

Definition at line 58 of file ML2PhantomConstruction.hh.

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

Constructor & Destructor Documentation

CML2PhantomConstruction::CML2PhantomConstruction ( void  )

Definition at line 50 of file ML2PhantomConstruction.cc.

View newest version in sPHENIX GitHub at line 50 of file ML2PhantomConstruction.cc

References idCurrentCentre, and phantomContstructionMessenger.

Referenced by GetInstance().

+ Here is the caller graph for this function:

CML2PhantomConstruction::~CML2PhantomConstruction ( void  )

Definition at line 56 of file ML2PhantomConstruction.cc.

View newest version in sPHENIX GitHub at line 56 of file ML2PhantomConstruction.cc

Member Function Documentation

void CML2PhantomConstruction::addNewCentre ( G4ThreeVector  val)
inline

Definition at line 76 of file ML2PhantomConstruction.hh.

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

References centre.

Referenced by design().

+ Here is the caller graph for this function:

void CML2PhantomConstruction::applyNewCentre ( G4ThreeVector  val)

Definition at line 213 of file ML2PhantomConstruction.cc.

View newest version in sPHENIX GitHub at line 213 of file ML2PhantomConstruction.cc

References G4GeometryManager::CloseGeometry(), currentCentre, G4RunManager::GeometryHasBeenModified(), G4GeometryManager::GetInstance(), G4RunManager::GetRunManager(), G4GeometryManager::OpenGeometry(), PVPhmWorld, and G4VPhysicalVolume::SetTranslation().

+ Here is the call graph for this function:

bool CML2PhantomConstruction::applyNewCentre ( )

Definition at line 194 of file ML2PhantomConstruction.cc.

View newest version in sPHENIX GitHub at line 194 of file ML2PhantomConstruction.cc

References centre, currentCentre, and idCurrentCentre.

bool CML2PhantomConstruction::Construct ( G4VPhysicalVolume PVWorld,
G4int  voxelX,
G4int  voxelY,
G4int  voxelZ,
G4bool  bOnlyVisio 
)

Definition at line 112 of file ML2PhantomConstruction.cc.

View newest version in sPHENIX GitHub at line 112 of file ML2PhantomConstruction.cc

References bOnlyVisio, CML2Ph_BoxInBox::Construct(), CML2Ph_FullWater::Construct(), createPhysicalVolumeNamesList(), design(), G4NistManager::FindOrBuildMaterial(), CML2Ph_BoxInBox::getPhysicalVolume(), CML2Ph_FullWater::getPhysicalVolume(), CLHEP::Hep3Vector::getX(), CLHEP::Hep3Vector::getY(), CLHEP::Hep3Vector::getZ(), halfPhantomInsideSize, idVolumeName, G4NistManager::Instance(), Ph_BoxInBox, Ph_fullWater, phantomContstructionMessenger, phantomName, PVPhmWorld, CML2PhantomConstructionMessenger::SetReferenceWorld(), G4VisAttributes::SetVisibility(), G4Colour::White(), CML2Ph_BoxInBox::writeInfo(), and CML2Ph_FullWater::writeInfo().

Referenced by CML2WorldConstruction::create().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void CML2PhantomConstruction::createPhysicalVolumeNamesList ( G4String matNames,
G4int  nMatNames 
)
private

Definition at line 157 of file ML2PhantomConstruction.cc.

View newest version in sPHENIX GitHub at line 157 of file ML2PhantomConstruction.cc

References SvolumeNameId::volumeId, SvolumeNameId::volumeName, and volumeNameIdLink.

Referenced by Construct(), and createPhysicalVolumeNamesList().

+ Here is the caller graph for this function:

void CML2PhantomConstruction::createPhysicalVolumeNamesList ( G4VPhysicalVolume PV)
private

Definition at line 167 of file ML2PhantomConstruction.cc.

View newest version in sPHENIX GitHub at line 167 of file ML2PhantomConstruction.cc

References createPhysicalVolumeNamesList(), G4cout, G4endl, G4LogicalVolume::GetDaughter(), G4VPhysicalVolume::GetLogicalVolume(), G4LogicalVolume::GetMaterial(), G4VPhysicalVolume::GetName(), G4Material::GetName(), G4LogicalVolume::GetNoDaughters(), idVolumeName, int(), SvolumeNameId::volumeId, SvolumeNameId::volumeName, and volumeNameIdLink.

+ Here is the call graph for this function:

bool CML2PhantomConstruction::design ( void  )
private

Definition at line 70 of file ML2PhantomConstruction.cc.

View newest version in sPHENIX GitHub at line 70 of file ML2PhantomConstruction.cc

References addNewCentre(), centre, G4cout, G4endl, CML2Ph_BoxInBox::getHalfContainerSize(), CML2Ph_FullWater::getHalfContainerSize(), halfPhantomInsideSize, Ph_BoxInBox, Ph_fullWater, and phantomName.

Referenced by Construct().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4String CML2PhantomConstruction::getCurrentTranslationString ( )

Definition at line 224 of file ML2PhantomConstruction.cc.

View newest version in sPHENIX GitHub at line 224 of file ML2PhantomConstruction.cc

References currentCentre, CLHEP::Hep3Vector::getX(), CLHEP::Hep3Vector::getY(), CLHEP::Hep3Vector::getZ(), and mm.

Referenced by CML2RunAction::BeginOfRunAction().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

CML2PhantomConstruction * CML2PhantomConstruction::GetInstance ( void  )
static

Definition at line 61 of file ML2PhantomConstruction.cc.

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

References CML2PhantomConstruction(), and instance.

Referenced by CML2RunAction::BeginOfRunAction(), and CML2WorldConstruction::CML2WorldConstruction().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4String CML2PhantomConstruction::getPhantomName ( )
inline

Definition at line 69 of file ML2PhantomConstruction.hh.

View newest version in sPHENIX GitHub at line 69 of file ML2PhantomConstruction.hh

References phantomName.

Referenced by CML2WorldConstruction::create().

+ Here is the caller graph for this function:

G4int CML2PhantomConstruction::getTotalNumberOfEvents ( )

Definition at line 96 of file ML2PhantomConstruction.cc.

View newest version in sPHENIX GitHub at line 96 of file ML2PhantomConstruction.cc

References G4cout, and G4endl.

void CML2PhantomConstruction::setPhantomFileName ( G4String  val)
inline

Definition at line 71 of file ML2PhantomConstruction.hh.

View newest version in sPHENIX GitHub at line 71 of file ML2PhantomConstruction.hh

References PhantomFileName.

void CML2PhantomConstruction::setPhantomName ( G4String  val)
inline

Definition at line 70 of file ML2PhantomConstruction.hh.

View newest version in sPHENIX GitHub at line 70 of file ML2PhantomConstruction.hh

References phantomName.

Referenced by CML2PhantomConstructionMessenger::SetNewValue().

+ Here is the caller graph for this function:

void CML2PhantomConstruction::writeInfo ( )

Definition at line 205 of file ML2PhantomConstruction.cc.

View newest version in sPHENIX GitHub at line 205 of file ML2PhantomConstruction.cc

References bOnlyVisio, centre, currentCentre, G4cout, G4endl, and idCurrentCentre.

Referenced by CML2RunAction::BeginOfRunAction().

+ Here is the caller graph for this function:

Member Data Documentation

G4bool CML2PhantomConstruction::bOnlyVisio
private

Definition at line 100 of file ML2PhantomConstruction.hh.

View newest version in sPHENIX GitHub at line 100 of file ML2PhantomConstruction.hh

Referenced by Construct(), and writeInfo().

std::vector<G4ThreeVector> CML2PhantomConstruction::centre
private

Definition at line 95 of file ML2PhantomConstruction.hh.

View newest version in sPHENIX GitHub at line 95 of file ML2PhantomConstruction.hh

Referenced by addNewCentre(), applyNewCentre(), design(), and writeInfo().

G4ThreeVector CML2PhantomConstruction::currentCentre
private

Definition at line 94 of file ML2PhantomConstruction.hh.

View newest version in sPHENIX GitHub at line 94 of file ML2PhantomConstruction.hh

Referenced by applyNewCentre(), getCurrentTranslationString(), and writeInfo().

G4ThreeVector CML2PhantomConstruction::halfPhantomInsideSize
private

Definition at line 94 of file ML2PhantomConstruction.hh.

View newest version in sPHENIX GitHub at line 94 of file ML2PhantomConstruction.hh

Referenced by Construct(), and design().

G4int CML2PhantomConstruction::idCurrentCentre
private

Definition at line 96 of file ML2PhantomConstruction.hh.

View newest version in sPHENIX GitHub at line 96 of file ML2PhantomConstruction.hh

Referenced by applyNewCentre(), CML2PhantomConstruction(), and writeInfo().

G4int CML2PhantomConstruction::idVolumeName
private

Definition at line 92 of file ML2PhantomConstruction.hh.

View newest version in sPHENIX GitHub at line 92 of file ML2PhantomConstruction.hh

Referenced by Construct(), and createPhysicalVolumeNamesList().

CML2PhantomConstruction * CML2PhantomConstruction::instance = 0
staticprivate

Definition at line 86 of file ML2PhantomConstruction.hh.

View newest version in sPHENIX GitHub at line 86 of file ML2PhantomConstruction.hh

Referenced by GetInstance().

CML2Ph_BoxInBox* CML2PhantomConstruction::Ph_BoxInBox
private

Definition at line 99 of file ML2PhantomConstruction.hh.

View newest version in sPHENIX GitHub at line 99 of file ML2PhantomConstruction.hh

Referenced by Construct(), and design().

CML2Ph_FullWater* CML2PhantomConstruction::Ph_fullWater
private

Definition at line 98 of file ML2PhantomConstruction.hh.

View newest version in sPHENIX GitHub at line 98 of file ML2PhantomConstruction.hh

Referenced by Construct(), and design().

CML2PhantomConstructionMessenger* CML2PhantomConstruction::phantomContstructionMessenger
private

Definition at line 85 of file ML2PhantomConstruction.hh.

View newest version in sPHENIX GitHub at line 85 of file ML2PhantomConstruction.hh

Referenced by CML2PhantomConstruction(), and Construct().

G4String CML2PhantomConstruction::PhantomFileName
private

Definition at line 87 of file ML2PhantomConstruction.hh.

View newest version in sPHENIX GitHub at line 87 of file ML2PhantomConstruction.hh

Referenced by setPhantomFileName().

G4String CML2PhantomConstruction::phantomName
private

Definition at line 87 of file ML2PhantomConstruction.hh.

View newest version in sPHENIX GitHub at line 87 of file ML2PhantomConstruction.hh

Referenced by Construct(), design(), getPhantomName(), and setPhantomName().

G4VPhysicalVolume* CML2PhantomConstruction::PVPhmWorld
private

Definition at line 89 of file ML2PhantomConstruction.hh.

View newest version in sPHENIX GitHub at line 89 of file ML2PhantomConstruction.hh

Referenced by applyNewCentre(), and Construct().

std::vector<SvolumeNameId> CML2PhantomConstruction::volumeNameIdLink
private

Definition at line 91 of file ML2PhantomConstruction.hh.

View newest version in sPHENIX GitHub at line 91 of file ML2PhantomConstruction.hh

Referenced by createPhysicalVolumeNamesList().


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