G4-DESCSS/src/G4CustomFemaleBuilder.cpp

63 lines
2.3 KiB
C++

#include "G4CustomFemaleBuilder.h"
#include "G4VBodyFactory.h"
#include "G4VoxelBreastFactory.h"
G4CustomFemaleBuilder::G4CustomFemaleBuilder() {}
G4CustomFemaleBuilder::~G4CustomFemaleBuilder()
{
delete body;
}
void G4CustomFemaleBuilder::BuildUterus(const G4String& colourName, G4bool solidVis, G4bool sensitivity)
{
if (trunkVolume == 0)
G4Exception("G4CustomFemaleBuilder::BuildUterus()", "human_phantom0001", FatalException,
"The trunk volume is missing !!!!!");
body->CreateOrgan("Uterus", trunkVolume, colourName, solidVis, sensitivity);
}
void G4CustomFemaleBuilder::BuildLeftOvary(const G4String& colourName, G4bool solidVis, G4bool sensitivity)
{
if (trunkVolume == 0)
G4Exception("G4CustomFemaleBuilder::BuildLeftOvary()", "human_phantom0002", FatalException,
"The trunk volume is missing !!!!!");
body->CreateOrgan("LeftOvary", trunkVolume, colourName, solidVis, sensitivity);
}
void G4CustomFemaleBuilder::BuildRightOvary(const G4String& colourName, G4bool solidVis, G4bool sensitivity)
{
if (trunkVolume == 0)
G4Exception("G4CustomFemaleBuilder::BuildRightOvary()", "human_phantom0003", FatalException,
"The trunk volume is missing !!!!!");
body->CreateOrgan("RightOvary", trunkVolume, colourName, solidVis, sensitivity);
}
void G4CustomFemaleBuilder::BuildVoxelLeftBreast(const G4String& colourName, G4bool solidVis, G4bool sensitivity) {
G4cout << "BuildVoxelLeftBreast" << G4endl;
if (motherVolume == 0)
G4Exception("G4CustomFemaleBuilder::BuildVoxelLeftBreast()", "human_phantom0004", FatalException,
"The world volume is missing !!!!!");
G4VBodyFactory* customBody = new G4VoxelBreastFactory();
customBody->CreateOrgan("LeftBreast", motherVolume, colourName, solidVis, sensitivity);
delete customBody;
}
void G4CustomFemaleBuilder::BuildVoxelRightBreast(const G4String& colourName, G4bool solidVis, G4bool sensitivity) {
if (motherVolume == 0)
G4Exception("G4CustomFemaleBuilder::BuildVoxelRightBreast()", "human_phantom0005", FatalException,
"The world volume is missing !!!!!");
G4VBodyFactory* customBody = new G4VoxelBreastFactory();
customBody->CreateOrgan("RightBreast", motherVolume, colourName, solidVis, sensitivity);
delete customBody;
}