Import Geant4 9.5.0 source tree
This commit is contained in:
@@ -55,7 +55,7 @@ void G4CustomFemaleBuilder::BuildUterus(const G4String& colourName, G4bool solid
|
||||
{
|
||||
if (trunkVolume == 0)
|
||||
|
||||
G4Exception("The trunk volume is missing !!!!!");
|
||||
G4Exception("G4CustomFemaleBuilder::BuildUterus()", "human_phantom0001", FatalException, "The trunk volume is missing !!!!!");
|
||||
|
||||
body -> CreateOrgan("Uterus",trunkVolume, colourName, solidVis, sensitivity); }
|
||||
|
||||
@@ -63,7 +63,7 @@ void G4CustomFemaleBuilder::BuildLeftOvary(const G4String& colourName, G4bool so
|
||||
|
||||
{
|
||||
if (trunkVolume == 0)
|
||||
G4Exception("The trunk volume is missing !!!!!");
|
||||
G4Exception("G4CustomFemaleBuilder::BuildLeftOvary()", "human_phantom0002", FatalException, "The trunk volume is missing !!!!!");
|
||||
|
||||
body -> CreateOrgan("LeftOvary",trunkVolume, colourName,
|
||||
solidVis, sensitivity);
|
||||
@@ -72,9 +72,8 @@ if (trunkVolume == 0)
|
||||
void G4CustomFemaleBuilder::BuildRightOvary(const G4String& colourName, G4bool solidVis, G4bool sensitivity )
|
||||
|
||||
{
|
||||
if (trunkVolume == 0)
|
||||
|
||||
G4Exception("The trunk volume is missing !!!!!");
|
||||
if (trunkVolume == 0)
|
||||
G4Exception("G4CustomFemaleBuilder::BuildRightOvary()", "human_phantom0003", FatalException, "The trunk volume is missing !!!!!");
|
||||
|
||||
body -> CreateOrgan("RightOvary",trunkVolume, colourName,
|
||||
solidVis, sensitivity);
|
||||
@@ -85,7 +84,7 @@ void G4CustomFemaleBuilder::BuildVoxelLeftBreast(const G4String& colourName,
|
||||
{
|
||||
G4cout << "BuildVoxelLeftBreast" << G4endl;
|
||||
if (motherVolume == 0)
|
||||
G4Exception("The world volume is missing !!!!!");
|
||||
G4Exception("G4CustomFemaleBuilder::BuildVoxelLeftBreast()", "human_phantom0004", FatalException, "The world volume is missing !!!!!");
|
||||
|
||||
G4VBodyFactory* customBody = new G4VoxelBreastFactory();
|
||||
customBody -> CreateOrgan("LeftBreast",motherVolume, colourName,
|
||||
@@ -99,7 +98,7 @@ void G4CustomFemaleBuilder::BuildVoxelRightBreast(const G4String& colourName,
|
||||
G4bool sensitivity)
|
||||
{
|
||||
if (motherVolume == 0)
|
||||
G4Exception("The world volume is missing !!!!!");
|
||||
G4Exception("G4CustomFemaleBuilder::BuildVoxelRightBreast()", "human_phantom0005", FatalException, "The world volume is missing !!!!!");
|
||||
|
||||
G4VBodyFactory* customBody = new G4VoxelBreastFactory();
|
||||
customBody -> CreateOrgan("RightBreast",motherVolume, colourName,
|
||||
|
||||
@@ -53,8 +53,7 @@ void G4FemaleBuilder::BuildUterus(const G4String& colourName, G4bool solidVis, G
|
||||
|
||||
{
|
||||
if (trunkVolume == 0)
|
||||
|
||||
G4Exception("The trunk volume is missing !!!!!");
|
||||
G4Exception("G4FemaleBuilder::BuildUterus()", "human_phantom0006", FatalException, "The trunk volume is missing !!!!!");
|
||||
|
||||
body -> CreateOrgan("Uterus",trunkVolume, colourName, solidVis, sensitivity); }
|
||||
|
||||
@@ -62,7 +61,7 @@ void G4FemaleBuilder::BuildLeftOvary(const G4String& colourName, G4bool solidVis
|
||||
|
||||
{
|
||||
if (trunkVolume == 0)
|
||||
G4Exception("The trunk volume is missing !!!!!");
|
||||
G4Exception("G4FemaleBuilder::BuildLeftOvary()", "human_phantom0007", FatalException, "The trunk volume is missing !!!!!");
|
||||
|
||||
body -> CreateOrgan("LeftOvary",trunkVolume, colourName,
|
||||
solidVis, sensitivity);
|
||||
@@ -72,8 +71,7 @@ void G4FemaleBuilder::BuildRightOvary(const G4String& colourName, G4bool solidVi
|
||||
|
||||
{
|
||||
if (trunkVolume == 0)
|
||||
|
||||
G4Exception("The trunk volume is missing !!!!!");
|
||||
G4Exception("G4FemaleBuilder::BuildRightOvary()", "human_phantom0008", FatalException, "The trunk volume is missing !!!!!");
|
||||
|
||||
body -> CreateOrgan("RightOvary",trunkVolume, colourName,
|
||||
solidVis, sensitivity);
|
||||
@@ -83,7 +81,7 @@ void G4FemaleBuilder::BuildLeftBreast(const G4String& colourName,
|
||||
G4bool solidVis, G4bool sensitivity)
|
||||
{
|
||||
if (motherVolume == 0)
|
||||
G4Exception("The world volume is missing !!!!!");
|
||||
G4Exception("G4FemaleBuilder::BuildLeftBreast()", "human_phantom0009", FatalException, "The world volume is missing !!!!!");
|
||||
|
||||
body -> CreateOrgan("LeftBreast",motherVolume, colourName,
|
||||
solidVis, sensitivity);
|
||||
@@ -95,7 +93,7 @@ void G4FemaleBuilder::BuildRightBreast(const G4String& colourName,
|
||||
G4bool sensitivity)
|
||||
{
|
||||
if (motherVolume == 0)
|
||||
G4Exception("The world volume is missing !!!!!");
|
||||
G4Exception("G4FemaleBuilder::BuildRightBreast()", "human_phantom0010", FatalException, "The world volume is missing !!!!!");
|
||||
|
||||
body -> CreateOrgan("RightBreast",motherVolume, colourName,
|
||||
solidVis, sensitivity);
|
||||
|
||||
@@ -1,155 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * License and Disclaimer *
|
||||
// * *
|
||||
// * The Geant4 software is copyright of the Copyright Holders of *
|
||||
// * the Geant4 Collaboration. It is provided under the terms and *
|
||||
// * conditions of the Geant4 Software License, included in the file *
|
||||
// * LICENSE and available at http://cern.ch/geant4/license . These *
|
||||
// * include a list of copyright holders. *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. Please see the license in the file LICENSE and URL above *
|
||||
// * for the full disclaimer and the limitation of liability. *
|
||||
// * *
|
||||
// * This code implementation is the result of the scientific and *
|
||||
// * technical work of the GEANT4 collaboration. *
|
||||
// * By using, copying, modifying or distributing the software (or *
|
||||
// * any work based on the software) you agree to acknowledge its *
|
||||
// * use in resulting scientific publications, and indicate your *
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// Authors: S. Guatelli and M. G. Pia, INFN Genova, Italy
|
||||
//
|
||||
// Based on code developed by the undergraduate student G. Guerrieri
|
||||
// Note: this is a preliminary beta-version of the code; an improved
|
||||
// version will be distributed in the next Geant4 public release, compliant
|
||||
// with the design in a forthcoming publication, and subject to a
|
||||
// design and code review.
|
||||
//
|
||||
#ifdef G4ANALYSIS_USE
|
||||
#include <stdlib.h>
|
||||
#include <fstream>
|
||||
#include "G4HumanPhantomAnalysisManager.hh"
|
||||
#include "G4ios.hh"
|
||||
#include <AIDA/AIDA.h>
|
||||
#include "G4RunManager.hh"
|
||||
|
||||
G4HumanPhantomAnalysisManager* G4HumanPhantomAnalysisManager::instance = 0;
|
||||
|
||||
G4HumanPhantomAnalysisManager::G4HumanPhantomAnalysisManager()
|
||||
: aFact(0), treeFact(0),theTree(0), histogramFactory(0),tupFact(0),
|
||||
ntuple(0), voxelLeftBreast(0), voxelRightBreast(0)
|
||||
{
|
||||
aFact = AIDA_createAnalysisFactory();
|
||||
treeFact = aFact -> createTreeFactory();
|
||||
}
|
||||
|
||||
G4HumanPhantomAnalysisManager::~G4HumanPhantomAnalysisManager()
|
||||
{
|
||||
delete voxelRightBreast;
|
||||
voxelRightBreast = 0;
|
||||
|
||||
delete voxelLeftBreast;
|
||||
voxelLeftBreast = 0;
|
||||
|
||||
delete ntuple;
|
||||
ntuple = 0;
|
||||
|
||||
delete tupFact;
|
||||
tupFact =0;
|
||||
|
||||
delete histogramFactory;
|
||||
histogramFactory = 0;
|
||||
|
||||
delete treeFact;
|
||||
treeFact = 0;
|
||||
|
||||
delete theTree;
|
||||
theTree = 0;
|
||||
|
||||
delete aFact;
|
||||
aFact = 0;
|
||||
}
|
||||
|
||||
G4HumanPhantomAnalysisManager* G4HumanPhantomAnalysisManager::getInstance()
|
||||
{
|
||||
if (instance == 0) instance = new G4HumanPhantomAnalysisManager;
|
||||
return instance;
|
||||
}
|
||||
|
||||
void G4HumanPhantomAnalysisManager::book()
|
||||
{
|
||||
G4String fileName = "G4HumanPhantom.hbk";
|
||||
theTree = treeFact->create(fileName,"hbook",false, true);
|
||||
|
||||
histogramFactory = aFact -> createHistogramFactory( *theTree );
|
||||
tupFact = aFact -> createTupleFactory( *theTree );
|
||||
|
||||
|
||||
voxelLeftBreast = histogramFactory->createHistogram2D("100",
|
||||
"Edep(MeV) in LeftBreast, x= slice, y= sector",
|
||||
10, -0.5, 9.5,
|
||||
10, -0.5, 9.5);
|
||||
|
||||
voxelRightBreast = histogramFactory->createHistogram2D("110",
|
||||
"Edep(MeV) in RightBreast, x= slice, y= sector",
|
||||
10, -0.5, 9.5,
|
||||
10, -0.5, 9.5);
|
||||
|
||||
|
||||
// Defining the ntuple columns' name
|
||||
std::string columnNames = "int id; float energy";
|
||||
std::string options = "";
|
||||
|
||||
// Creating a ntuple
|
||||
if (tupFact) ntuple = tupFact -> create("1","1",columnNames, options);
|
||||
|
||||
G4cout<<"Booking !!!!"<<G4endl;
|
||||
}
|
||||
|
||||
void G4HumanPhantomAnalysisManager::bodyPartEnergyDeposit(G4int bodyPartID,
|
||||
G4double eDep)
|
||||
{
|
||||
if (ntuple == 0)
|
||||
{
|
||||
G4cout << "AAAAAAAGH..... The Ntuple is 0" << G4endl;
|
||||
return;
|
||||
}
|
||||
|
||||
// Fill the ntuple
|
||||
|
||||
// Each organ is identified with an integer
|
||||
G4int indexX = ntuple -> findColumn( "id" );
|
||||
G4int indexEnergy = ntuple -> findColumn( "energy" );
|
||||
|
||||
ntuple -> fill(indexX, bodyPartID);
|
||||
ntuple -> fill(indexEnergy, eDep);
|
||||
|
||||
ntuple->addRow();
|
||||
}
|
||||
|
||||
void G4HumanPhantomAnalysisManager::voxelLeftBreastEnergyDeposit(G4int slice, G4int sector, G4double edep)
|
||||
{
|
||||
// G4cout << "analisis " << slice << " "<< sector << " "<< edep/MeV << G4endl;
|
||||
voxelLeftBreast -> fill(slice,sector, edep);
|
||||
}
|
||||
|
||||
void G4HumanPhantomAnalysisManager::voxelRightBreastEnergyDeposit(G4int slice, G4int sector, G4double edep)
|
||||
{
|
||||
//G4cout << "analisis " << slice << " "<< sector << " "<< edep/MeV << G4endl;
|
||||
voxelRightBreast -> fill(slice,sector, edep);
|
||||
}
|
||||
|
||||
void G4HumanPhantomAnalysisManager::finish()
|
||||
{
|
||||
theTree -> commit();
|
||||
theTree -> close();
|
||||
G4cout<<"closing the hbk file"<<G4endl;
|
||||
}
|
||||
#endif
|
||||
@@ -190,8 +190,9 @@ G4VPhysicalVolume* G4HumanPhantomConstruction::Construct()
|
||||
}
|
||||
|
||||
}
|
||||
return builder->GetPhantom();
|
||||
G4VPhysicalVolume* result=builder->GetPhantom();
|
||||
delete builder;
|
||||
return result;
|
||||
}
|
||||
|
||||
void G4HumanPhantomConstruction::SetBodyPartSensitivity(G4String bodyPartName, G4bool bodyPartSensitivity)
|
||||
|
||||
@@ -24,8 +24,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4HumanPhantomHit.cc,v 1.11 2007/05/15 14:45:35 guatelli Exp $
|
||||
// GEANT4 tag $Name: geant4-09-02 $
|
||||
// $Id: G4HumanPhantomHit.cc,v 1.11 2007-05-15 14:45:35 guatelli Exp $
|
||||
// GEANT4 tag $Name: not supported by cvs2svn $
|
||||
//
|
||||
|
||||
#include "G4HumanPhantomHit.hh"
|
||||
|
||||
@@ -35,8 +35,8 @@
|
||||
// * *
|
||||
// **********************************
|
||||
//
|
||||
// $Id: G4HumanPhantomPhysicsList.cc,v 1.13 2010/11/16 15:28:49 allison Exp $
|
||||
// GEANT4 tag $Name: geant4-09-04 $
|
||||
// $Id: G4HumanPhantomPhysicsList.cc,v 1.13 2010-11-16 15:28:49 allison Exp $
|
||||
// GEANT4 tag $Name: not supported by cvs2svn $
|
||||
//
|
||||
#include "G4HumanPhantomPhysicsList.hh"
|
||||
|
||||
|
||||
@@ -33,18 +33,21 @@
|
||||
//
|
||||
|
||||
#include "G4HumanPhantomRunAction.hh"
|
||||
#include "G4HumanPhantomAnalysisManager.hh"
|
||||
#include "G4HumanPhantomAnalysis.hh"
|
||||
#include "G4ios.hh"
|
||||
#include "G4Run.hh"
|
||||
#include "G4UnitsTable.hh"
|
||||
#ifdef G4ANALYSIS_USE
|
||||
#include "G4HumanPhantomAnalysisManager.hh"
|
||||
#endif
|
||||
|
||||
G4HumanPhantomRunAction::G4HumanPhantomRunAction()
|
||||
{}
|
||||
{
|
||||
// Create analysis manager
|
||||
G4AnalysisManager::Instance();
|
||||
}
|
||||
|
||||
G4HumanPhantomRunAction::~G4HumanPhantomRunAction()
|
||||
{}
|
||||
{
|
||||
delete G4AnalysisManager::Instance();
|
||||
}
|
||||
|
||||
void G4HumanPhantomRunAction::BeginOfRunAction(const G4Run* aRun)
|
||||
{
|
||||
@@ -84,12 +87,36 @@ void G4HumanPhantomRunAction::BeginOfRunAction(const G4Run* aRun)
|
||||
energyTotal["logicalRightScapula"]=0.;
|
||||
energyTotal["logicalLeftAdrenal"]=0.;
|
||||
energyTotal["logicalRightAdrenal"]=0.;
|
||||
|
||||
// Create ROOT output file with ntuple containing the
|
||||
// energy deposition in the organs.
|
||||
|
||||
// Get analysis manager
|
||||
G4AnalysisManager* analysisManager = G4AnalysisManager::Instance();
|
||||
|
||||
// Open a ROOT output file
|
||||
//
|
||||
G4String fileName = "g4humanphantom.root";
|
||||
analysisManager -> OpenFile(fileName);
|
||||
|
||||
// Create the ntuple
|
||||
analysisManager -> CreateNtuple("ntuple1", "Edep (MeV) in the organs");
|
||||
analysisManager -> CreateNtupleDColumn("ID"); // Integer identifying the organ
|
||||
analysisManager -> CreateNtupleDColumn("Edep"); // Energy deposition expressed in MeV
|
||||
analysisManager -> FinishNtuple();
|
||||
}
|
||||
|
||||
void G4HumanPhantomRunAction::EndOfRunAction(const G4Run* aRun)
|
||||
{
|
||||
G4cout << "Number of events = " << aRun->GetNumberOfEvent() << G4endl;
|
||||
totalRunEnergyDeposit();
|
||||
|
||||
// Get analysis manager
|
||||
G4AnalysisManager* analysisManager = G4AnalysisManager::Instance();
|
||||
|
||||
// Save the ntuple and histograms and close the ROOT file
|
||||
analysisManager -> Write();
|
||||
analysisManager -> CloseFile();
|
||||
}
|
||||
|
||||
|
||||
@@ -117,10 +144,14 @@ void G4HumanPhantomRunAction::totalRunEnergyDeposit()
|
||||
G4cout << "Energy Total in Run" <<bodypart << " = "
|
||||
<< G4BestUnit(energyDep,"Energy")
|
||||
<< G4endl;
|
||||
#ifdef G4ANALYSIS_USE
|
||||
G4HumanPhantomAnalysisManager* analysis = G4HumanPhantomAnalysisManager::getInstance();
|
||||
analysis -> bodyPartEnergyDeposit(k,energyDep/MeV);
|
||||
#endif
|
||||
|
||||
// Get analysis manager
|
||||
G4AnalysisManager* analysisManager = G4AnalysisManager::Instance();
|
||||
|
||||
// Fill ntuple
|
||||
analysisManager -> FillNtupleDColumn(0, k);
|
||||
analysisManager -> FillNtupleDColumn(1, energyDep/MeV);
|
||||
analysisManager -> AddNtupleRow();
|
||||
// }
|
||||
i++;
|
||||
k++;
|
||||
@@ -130,7 +161,6 @@ void G4HumanPhantomRunAction::totalRunEnergyDeposit()
|
||||
|
||||
G4cout << "Total Energy deposit in the body is: "
|
||||
<< totalEnergyDepositInPhantom/MeV << " MeV" <<G4endl;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -46,39 +46,11 @@ G4MIRDTestes::~G4MIRDTestes()
|
||||
{
|
||||
}
|
||||
|
||||
G4VPhysicalVolume* G4MIRDTestes::ConstructTestes(G4VPhysicalVolume* mother, G4String sex, G4bool sensitivity)
|
||||
G4VPhysicalVolume* G4MIRDTestes::ConstructTestes(G4VPhysicalVolume*, G4String, G4bool)
|
||||
{
|
||||
// Initialize GDML Processor
|
||||
parser.Read( "gdmlData/"+sex+"/MIRDTestes.gdml" );
|
||||
|
||||
|
||||
G4LogicalVolume* logicTestes = parser.GetVolume("TestesVolume");
|
||||
|
||||
G4ThreeVector position = parser.GetPosition("TestesPos");
|
||||
G4ThreeVector rot = parser.GetRotation("TestesRot");
|
||||
G4RotationMatrix* rm = new G4RotationMatrix();
|
||||
rm->rotateX(rot.x()); rm->rotateY(rot.y()); rm->rotateZ(rot.z());
|
||||
G4cout << "MIRD Testes still to be created !!!!!!" << G4endl;
|
||||
|
||||
// Define rotation and position here!
|
||||
G4VPhysicalVolume* physTestes = new G4PVPlacement(rm,position,
|
||||
"physicalTestes",
|
||||
logicTestes,
|
||||
mother,
|
||||
false,
|
||||
0);
|
||||
|
||||
// Sensitive Body Part
|
||||
if (sensitivity==true)
|
||||
{
|
||||
G4SDManager* SDman = G4SDManager::GetSDMpointer();
|
||||
logicTestes->SetSensitiveDetector( SDman->FindSensitiveDetector("BodyPartSD") );
|
||||
}
|
||||
|
||||
// Visualization Attributes
|
||||
G4VisAttributes* TestesVisAtt = new G4VisAttributes(G4Colour(1.0,1.0,0.0));
|
||||
TestesVisAtt->SetForceSolid(true);
|
||||
logicTestes->SetVisAttributes(TestesVisAtt);
|
||||
|
||||
G4cout << "Testes created !!!!!!" << G4endl;
|
||||
|
||||
return physTestes;
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -32,6 +32,8 @@
|
||||
// design and code review.
|
||||
//
|
||||
//
|
||||
#ifdef G4LIB_USE_GDML
|
||||
|
||||
#include "G4ORNLFemaleBodyFactory.hh"
|
||||
#include "G4PhysicalVolumeStore.hh"
|
||||
#include "G4GDMLParser.hh"
|
||||
@@ -75,7 +77,7 @@ G4VPhysicalVolume* G4ORNLFemaleBodyFactory::CreateOrgan(const G4String& gdmlFile
|
||||
logicOrgan,
|
||||
motherVolume,
|
||||
false,
|
||||
0, true);
|
||||
0);
|
||||
|
||||
// Sensitive Body Part
|
||||
if (sensitivity==true)
|
||||
@@ -106,4 +108,4 @@ G4VPhysicalVolume* G4ORNLFemaleBodyFactory::CreateOrgan(const G4String& gdmlFile
|
||||
return physOrgan;
|
||||
}
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
@@ -32,6 +32,8 @@
|
||||
// design and code review.
|
||||
//
|
||||
//
|
||||
#ifdef G4LIB_USE_GDML
|
||||
|
||||
#include "G4ORNLMaleBodyFactory.hh"
|
||||
#include "G4PhysicalVolumeStore.hh"
|
||||
#include "G4GDMLParser.hh"
|
||||
@@ -94,3 +96,4 @@ G4VPhysicalVolume* G4ORNLMaleBodyFactory::CreateOrgan(const G4String& gdmlFile,
|
||||
|
||||
return physOrgan;
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -63,7 +63,7 @@ G4PhantomBuilder::~G4PhantomBuilder()
|
||||
void G4PhantomBuilder::BuildTrunk(const G4String& colourName, G4bool solidVis, G4bool sensitivity)
|
||||
{
|
||||
if (motherVolume == 0)
|
||||
G4Exception("The world volume is missing !!!!!");
|
||||
G4Exception("G4PhantomBuilder::BuildTrunk()", "human_phantom0014", FatalException, "The world volume is missing !!!!!");
|
||||
|
||||
G4cout <<"MotherVolume: " << motherVolume -> GetName()<< G4endl;
|
||||
G4cout << "sensitivity : "<< sensitivity << G4endl;
|
||||
@@ -73,7 +73,7 @@ void G4PhantomBuilder::BuildTrunk(const G4String& colourName, G4bool solidVis, G
|
||||
void G4PhantomBuilder::BuildLeftLeg(const G4String& colourName, G4bool solidVis, G4bool sensitivity)
|
||||
{
|
||||
if (motherVolume == 0)
|
||||
G4Exception("The world volume is missing !!!!!");
|
||||
G4Exception("G4PhantomBuilder::BuildLeftLeg()", "human_phantom0015", FatalException, "The world volume is missing !!!!!");
|
||||
|
||||
G4cout <<"MotherVolume: " << motherVolume -> GetName()<< G4endl;
|
||||
G4cout << "sensitivity : "<< sensitivity << G4endl;
|
||||
@@ -82,7 +82,7 @@ void G4PhantomBuilder::BuildLeftLeg(const G4String& colourName, G4bool solidVis,
|
||||
void G4PhantomBuilder::BuildRightLeg(const G4String& colourName, G4bool solidVis, G4bool sensitivity)
|
||||
{
|
||||
if (motherVolume == 0)
|
||||
G4Exception("The world volume is missing !!!!!");
|
||||
G4Exception("G4PhantomBuilder::BuildRightLeg()", "human_phantom0016", FatalException, "The world volume is missing !!!!!");
|
||||
|
||||
G4cout <<"MotherVolume: " << motherVolume -> GetName()<< G4endl;
|
||||
G4cout << "sensitivity : "<< sensitivity << G4endl;
|
||||
@@ -92,7 +92,7 @@ void G4PhantomBuilder::BuildRightLeg(const G4String& colourName, G4bool solidVis
|
||||
void G4PhantomBuilder::BuildLeftLegBone(const G4String& colourName, G4bool solidVis, G4bool sensitivity)
|
||||
{
|
||||
if (leftLegVolume == 0)
|
||||
G4Exception("The left leg volume is missing !!!!!");
|
||||
G4Exception("G4PhantomBuilder::BuildLeftLegBone()", "human_phantom0017", FatalException, "The left leg volume is missing !!!!!");
|
||||
|
||||
G4cout <<"MotherVolume: " << leftLegVolume -> GetName()<< G4endl;
|
||||
G4cout << "sensitivity : "<< sensitivity << G4endl;
|
||||
@@ -102,7 +102,7 @@ void G4PhantomBuilder::BuildLeftLegBone(const G4String& colourName, G4bool solid
|
||||
void G4PhantomBuilder::BuildRightLegBone(const G4String& colourName, G4bool solidVis, G4bool sensitivity)
|
||||
{
|
||||
if (trunkVolume == 0)
|
||||
G4Exception("The right leg volume is missing !!!!!");
|
||||
G4Exception("G4PhantomBuilder::BuildRightLegBone()", "human_phantom0018", FatalException, "The right leg volume is missing !!!!!");
|
||||
|
||||
G4cout <<"MotherVolume: " << rightLegVolume -> GetName()<< G4endl;
|
||||
G4cout << "sensitivity : "<< sensitivity << G4endl;
|
||||
@@ -112,7 +112,7 @@ void G4PhantomBuilder::BuildRightLegBone(const G4String& colourName, G4bool soli
|
||||
void G4PhantomBuilder::BuildLeftArmBone(const G4String& colourName, G4bool solidVis, G4bool sensitivity)
|
||||
{
|
||||
if (trunkVolume == 0)
|
||||
G4Exception("The world volume is missing !!!!!");
|
||||
G4Exception("G4PhantomBuilder::BuildLeftArmBone()", "human_phantom0019", FatalException, "The world volume is missing !!!!!");
|
||||
|
||||
G4cout <<"MotherVolume: " << trunkVolume -> GetName()<< G4endl;
|
||||
G4cout << "sensitivity : "<< sensitivity << G4endl;
|
||||
@@ -121,7 +121,7 @@ void G4PhantomBuilder::BuildLeftArmBone(const G4String& colourName, G4bool solid
|
||||
void G4PhantomBuilder::BuildRightArmBone(const G4String& colourName, G4bool solidVis, G4bool sensitivity)
|
||||
{
|
||||
if (trunkVolume == 0)
|
||||
G4Exception("The trunk volume is missing !!!!!");
|
||||
G4Exception("G4PhantomBuilder::BuildRightArmBone()", "human_phantom0020", FatalException, "The trunk volume is missing !!!!!");
|
||||
|
||||
G4cout <<"MotherVolume: " << trunkVolume -> GetName()<< G4endl;
|
||||
G4cout << "sensitivity : "<< sensitivity << G4endl;
|
||||
@@ -131,7 +131,7 @@ void G4PhantomBuilder::BuildRightArmBone(const G4String& colourName, G4bool soli
|
||||
void G4PhantomBuilder::BuildLeftScapula(const G4String& colourName, G4bool solidVis, G4bool sensitivity)
|
||||
{
|
||||
if (trunkVolume == 0)
|
||||
G4Exception("The trunk volume is missing !!!!!");
|
||||
G4Exception("G4PhantomBuilder::BuildLeftScapula()", "human_phantom0021", FatalException, "The trunk volume is missing !!!!!");
|
||||
|
||||
G4cout <<"MotherVolume: " << trunkVolume -> GetName()<< G4endl;
|
||||
G4cout << "sensitivity : "<< sensitivity << G4endl;
|
||||
@@ -141,7 +141,7 @@ void G4PhantomBuilder::BuildLeftScapula(const G4String& colourName, G4bool solid
|
||||
void G4PhantomBuilder::BuildRightScapula(const G4String& colourName, G4bool solidVis, G4bool sensitivity)
|
||||
{
|
||||
if (trunkVolume == 0)
|
||||
G4Exception("The trunk volume is missing !!!!!");
|
||||
G4Exception("G4PhantomBuilder::BuildRightScapula()", "human_phantom0022", FatalException, "The trunk volume is missing !!!!!");
|
||||
|
||||
G4cout <<"MotherVolume: " << trunkVolume -> GetName()<< G4endl;
|
||||
G4cout << "sensitivity : "<< sensitivity << G4endl;
|
||||
@@ -153,7 +153,7 @@ void G4PhantomBuilder::BuildRightScapula(const G4String& colourName, G4bool soli
|
||||
void G4PhantomBuilder::BuildHead(const G4String& colourName, G4bool solidVis, G4bool sensitivity)
|
||||
{
|
||||
if (motherVolume == 0)
|
||||
G4Exception("The mother volume is missing !!!!!");
|
||||
G4Exception("G4PhantomBuilder::BuildHead()", "human_phantom0023", FatalException, "The mother volume is missing !!!!!");
|
||||
|
||||
G4cout <<"MotherVolume: " << motherVolume -> GetName()<< G4endl;
|
||||
G4cout << "sensitivity : "<< sensitivity << G4endl;
|
||||
@@ -163,7 +163,7 @@ void G4PhantomBuilder::BuildHead(const G4String& colourName, G4bool solidVis, G4
|
||||
void G4PhantomBuilder::BuildSkull(const G4String& colourName, G4bool solidVis, G4bool sensitivity)
|
||||
{
|
||||
if (headVolume == 0)
|
||||
G4Exception("The head volume is missing !!!!!");
|
||||
G4Exception("G4PhantomBuilder::BuildSkull()", "human_phantom0024", FatalException, "The head volume is missing !!!!!");
|
||||
|
||||
G4cout <<"MotherVolume: " << headVolume -> GetName()<< G4endl;
|
||||
G4cout << "sensitivity : "<< sensitivity << G4endl;
|
||||
@@ -173,7 +173,7 @@ void G4PhantomBuilder::BuildSkull(const G4String& colourName, G4bool solidVis, G
|
||||
void G4PhantomBuilder::BuildUpperSpine(const G4String& colourName, G4bool solidVis, G4bool sensitivity)
|
||||
{
|
||||
if (headVolume == 0)
|
||||
G4Exception("The head volume is missing !!!!!");
|
||||
G4Exception("G4PhantomBuilder::BuildUpperSpine()", "human_phantom0025", FatalException, "The head volume is missing !!!!!");
|
||||
|
||||
G4cout <<"MotherVolume: " << headVolume -> GetName()<< G4endl;
|
||||
G4cout << "sensitivity : "<< sensitivity << G4endl;
|
||||
@@ -183,7 +183,7 @@ void G4PhantomBuilder::BuildUpperSpine(const G4String& colourName, G4bool solidV
|
||||
void G4PhantomBuilder::BuildMiddleLowerSpine(const G4String& colourName, G4bool solidVis, G4bool sensitivity)
|
||||
{
|
||||
if (trunkVolume == 0)
|
||||
G4Exception("The trunk volume is missing !!!!!");
|
||||
G4Exception("G4PhantomBuilder::BuildMiddleLowerSpine()", "human_phantom0026", FatalException, "The trunk volume is missing !!!!!");
|
||||
|
||||
G4cout <<"MotherVolume: " << trunkVolume -> GetName()<< G4endl;
|
||||
G4cout << "sensitivity : "<< sensitivity << G4endl;
|
||||
@@ -193,7 +193,7 @@ void G4PhantomBuilder::BuildMiddleLowerSpine(const G4String& colourName, G4bool
|
||||
void G4PhantomBuilder::BuildPelvis(const G4String& colourName, G4bool solidVis, G4bool sensitivity)
|
||||
{
|
||||
if (trunkVolume == 0)
|
||||
G4Exception("The trunk volume is missing !!!!!");
|
||||
G4Exception("G4PhantomBuilder::BuildPelvis()", "human_phantom0027", FatalException, "The trunk volume is missing !!!!!");
|
||||
|
||||
body -> CreateOrgan( "Pelvis",trunkVolume,
|
||||
colourName, solidVis, sensitivity);
|
||||
@@ -203,7 +203,7 @@ void G4PhantomBuilder::BuildPelvis(const G4String& colourName, G4bool solidVis,
|
||||
void G4PhantomBuilder::BuildClavicles(G4bool sensitivity)
|
||||
{
|
||||
if (trunkVolume == 0)
|
||||
G4Exception("The trunk volume is missing !!!!!");
|
||||
G4Exception("G4PhantomBuilder::BuildClavicles()", "human_phantom0028", FatalException, "The trunk volume is missing !!!!!");
|
||||
|
||||
body -> CreateClavicles(trunkVolume, sensitivity);
|
||||
}
|
||||
@@ -212,7 +212,7 @@ void G4PhantomBuilder::BuildClavicles(G4bool sensitivity)
|
||||
void G4PhantomBuilder::BuildBrain(const G4String& colourName, G4bool solidVis, G4bool sensitivity)
|
||||
{
|
||||
if (headVolume == 0)
|
||||
G4Exception("The head volume is missing !!!!!");
|
||||
G4Exception("G4PhantomBuilder::BuildBrain()", "human_phantom0029", FatalException, "The head volume is missing !!!!!");
|
||||
|
||||
body -> CreateOrgan("Brain",headVolume, colourName, solidVis, sensitivity);
|
||||
}
|
||||
@@ -220,14 +220,14 @@ void G4PhantomBuilder::BuildBrain(const G4String& colourName, G4bool solidVis, G
|
||||
void G4PhantomBuilder::BuildHeart(const G4String& colourName, G4bool solidVis, G4bool sensitivity)
|
||||
{
|
||||
if (trunkVolume == 0)
|
||||
G4Exception("The trunk volume is missing !!!!!");
|
||||
G4Exception("G4PhantomBuilder::BuildHeart()", "human_phantom0030", FatalException, "The trunk volume is missing !!!!!");
|
||||
body -> CreateOrgan("Heart", trunkVolume,colourName, solidVis, sensitivity);
|
||||
}
|
||||
|
||||
void G4PhantomBuilder::BuildLeftLung(const G4String& colourName, G4bool solidVis, G4bool sensitivity)
|
||||
{
|
||||
if (trunkVolume == 0)
|
||||
G4Exception("The trunk volume is missing !!!!!");
|
||||
G4Exception("G4PhantomBuilder::BuildLeftLung()", "human_phantom0031", FatalException, "The trunk volume is missing !!!!!");
|
||||
|
||||
body -> CreateOrgan("LeftLung",trunkVolume,colourName,solidVis, sensitivity);
|
||||
}
|
||||
@@ -235,7 +235,7 @@ void G4PhantomBuilder::BuildLeftLung(const G4String& colourName, G4bool solidVis
|
||||
void G4PhantomBuilder::BuildRightLung(const G4String& colourName, G4bool solidVis, G4bool sensitivity )
|
||||
{
|
||||
if (trunkVolume == 0)
|
||||
G4Exception("The trunk volume is missing !!!!!");
|
||||
G4Exception("G4PhantomBuilder::BuildRightLung()", "human_phantom0032", FatalException, "The trunk volume is missing !!!!!");
|
||||
|
||||
body -> CreateOrgan("RightLung",trunkVolume,colourName, solidVis, sensitivity);
|
||||
}
|
||||
@@ -243,7 +243,7 @@ void G4PhantomBuilder::BuildRightLung(const G4String& colourName, G4bool solidVi
|
||||
void G4PhantomBuilder::BuildStomach(const G4String& colourName, G4bool solidVis, G4bool sensitivity )
|
||||
{
|
||||
if (trunkVolume == 0)
|
||||
G4Exception("The trunk volume is missing !!!!!");
|
||||
G4Exception("G4PhantomBuilder::BuildStomach()", "human_phantom0033", FatalException, "The trunk volume is missing !!!!!");
|
||||
|
||||
body -> CreateOrgan("Stomach",trunkVolume,colourName, solidVis, sensitivity);
|
||||
}
|
||||
@@ -251,7 +251,7 @@ void G4PhantomBuilder::BuildStomach(const G4String& colourName, G4bool solidVis,
|
||||
void G4PhantomBuilder::BuildRibCage(const G4String& colourName, G4bool solidVis, G4bool sensitivity)
|
||||
{
|
||||
if (trunkVolume == 0)
|
||||
G4Exception("The trunk volume is missing !!!!!");
|
||||
G4Exception("G4PhantomBuilder::BuildRibCage()", "human_phantom0034", FatalException, "The trunk volume is missing !!!!!");
|
||||
|
||||
body -> CreateOrgan("RibCage",trunkVolume,colourName, solidVis, sensitivity);
|
||||
}
|
||||
@@ -259,7 +259,7 @@ void G4PhantomBuilder::BuildRibCage(const G4String& colourName, G4bool solidVis,
|
||||
void G4PhantomBuilder::BuildSpleen(const G4String& colourName, G4bool solidVis, G4bool sensitivity)
|
||||
{
|
||||
if (trunkVolume == 0)
|
||||
G4Exception("The trunk volume is missing !!!!!");
|
||||
G4Exception("G4PhantomBuilder::BuildSpleen()", "human_phantom0035", FatalException, "The trunk volume is missing !!!!!");
|
||||
|
||||
body -> CreateOrgan("Spleen", trunkVolume,colourName, solidVis, sensitivity);
|
||||
}
|
||||
@@ -267,7 +267,7 @@ void G4PhantomBuilder::BuildSpleen(const G4String& colourName, G4bool solidVis,
|
||||
void G4PhantomBuilder::BuildUpperLargeIntestine(const G4String& colourName, G4bool solidVis, G4bool sensitivity)
|
||||
{
|
||||
if (trunkVolume == 0)
|
||||
G4Exception("The trunk volume is missing !!!!!");
|
||||
G4Exception("G4PhantomBuilder::BuildUpperLargeIntestine()", "human_phantom0036", FatalException, "The trunk volume is missing !!!!!");
|
||||
|
||||
body -> CreateOrgan("UpperLargeIntestine",trunkVolume, colourName, solidVis, sensitivity);
|
||||
}
|
||||
@@ -275,7 +275,7 @@ void G4PhantomBuilder::BuildUpperLargeIntestine(const G4String& colourName, G4bo
|
||||
void G4PhantomBuilder::BuildLowerLargeIntestine(const G4String& colourName, G4bool solidVis, G4bool sensitivity)
|
||||
{
|
||||
if (trunkVolume == 0)
|
||||
G4Exception("The trunk volume is missing !!!!!");
|
||||
G4Exception("G4PhantomBuilder::BuildLowerLargeIntestine()", "human_phantom0037", FatalException, "The trunk volume is missing !!!!!");
|
||||
|
||||
body -> CreateOrgan("LowerLargeIntestine", trunkVolume, colourName,solidVis, sensitivity);
|
||||
}
|
||||
@@ -283,7 +283,7 @@ void G4PhantomBuilder::BuildLowerLargeIntestine(const G4String& colourName, G4bo
|
||||
void G4PhantomBuilder::BuildEsophagus(G4bool sensitivity)
|
||||
{
|
||||
if (trunkVolume == 0)
|
||||
G4Exception("The trunk volume is missing !!!!!");
|
||||
G4Exception("G4PhantomBuilder::BuildEsophagus()", "human_phantom0038", FatalException, "The trunk volume is missing !!!!!");
|
||||
|
||||
body -> CreateEsophagus(trunkVolume, sensitivity);
|
||||
}
|
||||
@@ -291,14 +291,14 @@ void G4PhantomBuilder::BuildEsophagus(G4bool sensitivity)
|
||||
void G4PhantomBuilder::BuildLeftKidney(const G4String& colourName, G4bool solidVis, G4bool sensitivity)
|
||||
{
|
||||
if (trunkVolume == 0)
|
||||
G4Exception("The trunk volume is missing !!!!!");
|
||||
G4Exception("G4PhantomBuilder::BuildLeftKidney()", "human_phantom0039", FatalException, "The trunk volume is missing !!!!!");
|
||||
|
||||
body -> CreateOrgan("LeftKidney", trunkVolume,colourName, solidVis, sensitivity);
|
||||
}
|
||||
void G4PhantomBuilder::BuildRightKidney(const G4String& colourName, G4bool solidVis, G4bool sensitivity)
|
||||
{
|
||||
if (trunkVolume == 0)
|
||||
G4Exception("The trunk volume is missing !!!!!");
|
||||
G4Exception("G4PhantomBuilder::BuildRightKidney()", "human_phantom0040", FatalException, "The trunk volume is missing !!!!!");
|
||||
|
||||
body -> CreateOrgan("RightKidney",trunkVolume,colourName, solidVis, sensitivity);
|
||||
}
|
||||
@@ -306,7 +306,7 @@ void G4PhantomBuilder::BuildRightKidney(const G4String& colourName, G4bool solid
|
||||
void G4PhantomBuilder::BuildLeftAdrenal(const G4String& colourName, G4bool solidVis, G4bool sensitivity)
|
||||
{
|
||||
if (trunkVolume == 0)
|
||||
G4Exception("The trunk volume is missing !!!!!");
|
||||
G4Exception("G4PhantomBuilder::BuildLeftAdrenal()", "human_phantom0041", FatalException, "The trunk volume is missing !!!!!");
|
||||
|
||||
body -> CreateOrgan("LeftAdrenal", trunkVolume,colourName, solidVis, sensitivity);
|
||||
}
|
||||
@@ -314,7 +314,7 @@ void G4PhantomBuilder::BuildLeftAdrenal(const G4String& colourName, G4bool solid
|
||||
void G4PhantomBuilder::BuildRightAdrenal(const G4String& colourName, G4bool solidVis, G4bool sensitivity)
|
||||
{
|
||||
if (trunkVolume == 0)
|
||||
G4Exception("The trunk volume is missing !!!!!");
|
||||
G4Exception("G4PhantomBuilder::BuildRightAdrenal()", "human_phantom0042", FatalException, "The trunk volume is missing !!!!!");
|
||||
|
||||
body -> CreateOrgan("RightAdrenal", trunkVolume,colourName, solidVis, sensitivity);
|
||||
}
|
||||
@@ -323,14 +323,14 @@ void G4PhantomBuilder::BuildRightAdrenal(const G4String& colourName, G4bool soli
|
||||
void G4PhantomBuilder::BuildLiver(const G4String& colourName, G4bool solidVis, G4bool sensitivity)
|
||||
{
|
||||
if (trunkVolume == 0)
|
||||
G4Exception("The trunk volume is missing !!!!!");
|
||||
G4Exception("G4PhantomBuilder::BuildLiver()", "human_phantom0043", FatalException, "The trunk volume is missing !!!!!");
|
||||
|
||||
body -> CreateOrgan("Liver", trunkVolume,colourName, solidVis, sensitivity);
|
||||
}
|
||||
void G4PhantomBuilder::BuildPancreas(const G4String& colourName, G4bool solidVis, G4bool sensitivity)
|
||||
{
|
||||
if (trunkVolume == 0)
|
||||
G4Exception("The trunk volume is missing !!!!!");
|
||||
G4Exception("G4PhantomBuilder::BuildPancreas()", "human_phantom0044", FatalException, "The trunk volume is missing !!!!!");
|
||||
|
||||
body -> CreateOrgan("Pancreas",trunkVolume,colourName, solidVis, sensitivity);
|
||||
}
|
||||
@@ -338,7 +338,7 @@ void G4PhantomBuilder::BuildPancreas(const G4String& colourName, G4bool solidVis
|
||||
void G4PhantomBuilder::BuildUrinaryBladder(const G4String& colourName, G4bool solidVis, G4bool sensitivity)
|
||||
{
|
||||
if (trunkVolume == 0)
|
||||
G4Exception("The trunk volume is missing !!!!!");
|
||||
G4Exception("G4PhantomBuilder::BuildUrinaryBladder()", "human_phantom0045", FatalException, "The trunk volume is missing !!!!!");
|
||||
|
||||
body -> CreateOrgan("UrinaryBladder",trunkVolume, colourName, solidVis, sensitivity);
|
||||
}
|
||||
@@ -346,7 +346,7 @@ void G4PhantomBuilder::BuildUrinaryBladder(const G4String& colourName, G4bool so
|
||||
void G4PhantomBuilder::BuildThyroid(const G4String& colourName, G4bool solidVis, G4bool sensitivity )
|
||||
{
|
||||
if (headVolume == 0)
|
||||
G4Exception("The trunk volume is missing !!!!!");
|
||||
G4Exception("G4PhantomBuilder::BuildThyroid()", "human_phantom0046", FatalException, "The trunk volume is missing !!!!!");
|
||||
|
||||
body -> CreateOrgan("Thyroid",headVolume, colourName,solidVis, sensitivity);
|
||||
}
|
||||
@@ -368,7 +368,22 @@ void G4PhantomBuilder::SetModel(G4String modelFlag)
|
||||
model = modelFlag;
|
||||
|
||||
if(model=="MIRD" || model =="MIX") body = new G4MIRDBodyFactory();
|
||||
if(model=="ORNLFemale") body = new G4ORNLFemaleBodyFactory();
|
||||
if(model=="ORNLMale") body = new G4ORNLMaleBodyFactory();
|
||||
}
|
||||
if(model=="ORNLFemale")
|
||||
{
|
||||
|
||||
#ifdef G4LIB_USE_GDML
|
||||
body = new G4ORNLFemaleBodyFactory();
|
||||
#else
|
||||
G4cout << model << " Working with GDML only! set G4LIB_USE_GDML 1" << G4endl;
|
||||
#endif
|
||||
}
|
||||
|
||||
if(model=="ORNLMale")
|
||||
{
|
||||
#ifdef G4LIB_USE_GDML
|
||||
body = new G4ORNLMaleBodyFactory();
|
||||
#else
|
||||
G4cout << model << " Working with GDML only! set G4LIB_USE_GDML 1" << G4endl;
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
@@ -54,7 +54,7 @@ G4PhantomHeadBuilder::~G4PhantomHeadBuilder()
|
||||
void G4PhantomHeadBuilder::BuildHead(const G4String& colourName, G4bool solidVis, G4bool sensitivity)
|
||||
{
|
||||
if (motherVolume == 0)
|
||||
G4Exception("The moder Volume volume is missing !!!!!");
|
||||
G4Exception("G4PhantomHeadBuilder::BuildHead()", "human_phantom0011", FatalException, "The moder Volume volume is missing !!!!!");
|
||||
|
||||
G4cout <<"MotherVolume: " << motherVolume -> GetName()<< G4endl;
|
||||
G4cout << "sensitivity : "<< sensitivity << G4endl;
|
||||
@@ -64,7 +64,7 @@ void G4PhantomHeadBuilder::BuildHead(const G4String& colourName, G4bool solidVis
|
||||
void G4PhantomHeadBuilder::BuildSkull(const G4String& colourName, G4bool solidVis, G4bool sensitivity)
|
||||
{
|
||||
if (headVolume == 0)
|
||||
G4Exception("The head volume is missing !!!!!");
|
||||
G4Exception("G4PhantomHeadBuilder::BuildSkull()", "human_phantom0012", FatalException, "The head volume is missing !!!!!");
|
||||
|
||||
G4cout <<"MotherVolume: " << headVolume -> GetName()<< G4endl;
|
||||
G4cout << "sensitivity : "<< sensitivity << G4endl;
|
||||
@@ -74,7 +74,7 @@ void G4PhantomHeadBuilder::BuildSkull(const G4String& colourName, G4bool solidVi
|
||||
void G4PhantomHeadBuilder::BuildBrain(const G4String& colourName, G4bool solidVis, G4bool sensitivity)
|
||||
{
|
||||
if (headVolume == 0)
|
||||
G4Exception("The head volume is missing !!!!!");
|
||||
G4Exception("G4PhantomHeadBuilder::BuildBrain()", "human_phantom0013", FatalException, "The head volume is missing !!!!!");
|
||||
|
||||
body -> CreateOrgan("Brain",headVolume, colourName, solidVis, sensitivity);
|
||||
}
|
||||
@@ -95,7 +95,23 @@ void G4PhantomHeadBuilder::SetModel(G4String modelFlag)
|
||||
model = modelFlag;
|
||||
|
||||
if(model=="MIRD" || model =="MIX") body = new G4MIRDBodyFactory();
|
||||
if(model=="ORNLFemale") body = new G4ORNLFemaleBodyFactory();
|
||||
if(model=="ORNLMale") body = new G4ORNLMaleBodyFactory();
|
||||
if(model=="ORNLFemale")
|
||||
{
|
||||
#ifdef G4LIB_USE_GDML
|
||||
body = new G4ORNLFemaleBodyFactory();
|
||||
#else
|
||||
G4cout << model << " Working with GDML only! set G4LIB_USE_GDML 1" << G4endl;
|
||||
#endif
|
||||
}
|
||||
|
||||
if(model=="ORNLMale")
|
||||
{
|
||||
#ifdef G4LIB_USE_GDML
|
||||
body = new G4ORNLMaleBodyFactory();
|
||||
#else
|
||||
G4cout << model << " Working with GDML only! set G4LIB_USE_GDML 1" << G4endl;
|
||||
#endif
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -100,18 +100,18 @@ G4VPhysicalVolume* G4VoxelLeftBreast::Construct(const G4String& volumeName,
|
||||
|
||||
|
||||
G4VPhysicalVolume* physBreast = new G4PVPlacement(matrix,G4ThreeVector(10.*cm, 52.* cm, 8.7 *cm),
|
||||
"physicalVoxelLeftBreast",
|
||||
breast_log,
|
||||
mother,
|
||||
false,
|
||||
0, true);
|
||||
"physicalVoxelLeftBreast",
|
||||
breast_log,
|
||||
mother,
|
||||
false,
|
||||
0, true);
|
||||
|
||||
G4VPhysicalVolume* physInnerBreast = new G4PVPlacement(0,0,
|
||||
"LeftBreast",
|
||||
innerBreast_log,
|
||||
physBreast,
|
||||
false,
|
||||
0, true);
|
||||
G4VPhysicalVolume* physInnerBreast = new G4PVPlacement(0,G4ThreeVector(),
|
||||
"LeftBreast",
|
||||
innerBreast_log,
|
||||
physBreast,
|
||||
false,
|
||||
0, true);
|
||||
|
||||
/*
|
||||
// Parameterisation with Replicas
|
||||
|
||||
@@ -37,9 +37,7 @@
|
||||
#include "G4ThreeVector.hh"
|
||||
#include "G4SDManager.hh"
|
||||
#include "G4ios.hh"
|
||||
#ifdef G4ANALYSIS_USE
|
||||
#include "G4HumanPhantomAnalysisManager.hh"
|
||||
#endif
|
||||
#include "G4HumanPhantomAnalysis.hh"
|
||||
|
||||
G4VoxelLeftBreastSD::G4VoxelLeftBreastSD(G4String name)
|
||||
:G4VSensitiveDetector(name)
|
||||
@@ -66,20 +64,19 @@ G4bool G4VoxelLeftBreastSD::ProcessHits(G4Step* aStep,G4TouchableHistory* ROhist
|
||||
|
||||
if(edep != 0)
|
||||
{
|
||||
|
||||
#ifdef G4ANALYSIS_USE
|
||||
G4HumanPhantomAnalysisManager* analysis =
|
||||
G4HumanPhantomAnalysisManager::getInstance();
|
||||
|
||||
// Get analysis manager
|
||||
/* G4AnalysisManager* analysisManager = G4AnalysisManager::Instance();
|
||||
|
||||
if (aStep -> GetPreStepPoint() -> GetPhysicalVolume() ->
|
||||
GetName() == "LeftBreast")
|
||||
{
|
||||
G4int sector = ROhist -> GetReplicaNumber();
|
||||
G4int slice = ROhist -> GetReplicaNumber(1);
|
||||
analysis -> voxelLeftBreastEnergyDeposit(slice,sector,edep/MeV);
|
||||
analysisManager -> FillH2(1,slice, sector,edep/MeV);
|
||||
// G4cout << "LeftBreast:" << "slice: " << slice << ",sector: "<< sector << " "<< edep/MeV << G4endl;
|
||||
}
|
||||
#endif
|
||||
*/
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -100,18 +100,18 @@ G4VPhysicalVolume* G4VoxelRightBreast::Construct(const G4String& volumeName,
|
||||
|
||||
|
||||
G4VPhysicalVolume* physBreast = new G4PVPlacement(matrix,G4ThreeVector(-10.*cm, 52.* cm, 8.7 *cm),
|
||||
"physicalVoxelRightBreast",
|
||||
breast_log,
|
||||
mother,
|
||||
false,
|
||||
0, true);
|
||||
"physicalVoxelRightBreast",
|
||||
breast_log,
|
||||
mother,
|
||||
false,
|
||||
0, true);
|
||||
|
||||
G4VPhysicalVolume* physInnerBreast = new G4PVPlacement(0,0,
|
||||
"RightBreast",
|
||||
innerBreast_log,
|
||||
physBreast,
|
||||
false,
|
||||
0, true);
|
||||
G4VPhysicalVolume* physInnerBreast = new G4PVPlacement(0,G4ThreeVector(),
|
||||
"RightBreast",
|
||||
innerBreast_log,
|
||||
physBreast,
|
||||
false,
|
||||
0, true);
|
||||
|
||||
|
||||
// Parameterisation with Replicas
|
||||
|
||||
@@ -37,9 +37,7 @@
|
||||
#include "G4ThreeVector.hh"
|
||||
#include "G4SDManager.hh"
|
||||
#include "G4ios.hh"
|
||||
#ifdef G4ANALYSIS_USE
|
||||
#include "G4HumanPhantomAnalysisManager.hh"
|
||||
#endif
|
||||
#include "G4HumanPhantomAnalysis.hh"
|
||||
|
||||
G4VoxelRightBreastSD::G4VoxelRightBreastSD(G4String name)
|
||||
:G4VSensitiveDetector(name)
|
||||
@@ -67,20 +65,18 @@ G4bool G4VoxelRightBreastSD::ProcessHits(G4Step* aStep,G4TouchableHistory* ROhis
|
||||
|
||||
if(edep != 0)
|
||||
{
|
||||
// Get analysis manager
|
||||
// G4AnalysisManager* analysisManager = G4AnalysisManager::Instance();
|
||||
|
||||
#ifdef G4ANALYSIS_USE
|
||||
G4HumanPhantomAnalysisManager* analysis =
|
||||
G4HumanPhantomAnalysisManager::getInstance();
|
||||
|
||||
if (aStep -> GetPreStepPoint() -> GetPhysicalVolume() ->
|
||||
GetName() == "RightBreast")
|
||||
{
|
||||
G4int sector = ROhist -> GetReplicaNumber();
|
||||
G4int slice = ROhist -> GetReplicaNumber(1);
|
||||
analysis -> voxelRightBreastEnergyDeposit(slice,sector,edep/MeV);
|
||||
/// if (aStep -> GetPreStepPoint() -> GetPhysicalVolume() ->
|
||||
// GetName() == "RightBreast")
|
||||
// {
|
||||
// G4int sector = ROhist -> GetReplicaNumber();
|
||||
// G4int slice = ROhist -> GetReplicaNumber(1);
|
||||
//analysisManager -> FillH2(2, slice,sector,edep/MeV);
|
||||
//G4cout << "RightBreast:" << "slice: " << slice << ",sector: "<< sector << " "<< edep/MeV << G4endl;
|
||||
}
|
||||
#endif
|
||||
// }
|
||||
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user