Import Geant4 11.0.0 source tree
This commit is contained in:
committed by
Ben Morgan
parent
6399a014b6
commit
80e2389dd8
@@ -82,7 +82,6 @@
|
||||
|
||||
#include "G4hIonisation.hh"
|
||||
#include "G4ionIonisation.hh"
|
||||
#include "G4alphaIonisation.hh"
|
||||
#include "G4IonParametrisedLossModel.hh"
|
||||
#include "G4NuclearStopping.hh"
|
||||
|
||||
|
||||
@@ -45,8 +45,8 @@
|
||||
#include "G4UImanager.hh"
|
||||
#include "G4ios.hh"
|
||||
#include "G4SystemOfUnits.hh"
|
||||
#include "G4AnalysisManager.hh"
|
||||
|
||||
#include "SAXSAnalysis.hh"
|
||||
#include "SAXSEventAction.hh"
|
||||
#include "SAXSSensitiveDetectorHit.hh"
|
||||
|
||||
|
||||
@@ -44,17 +44,14 @@
|
||||
#include "G4ParticleTable.hh"
|
||||
|
||||
//EM Physics Lists
|
||||
#include "G4EmParameters.hh"
|
||||
#include "G4EmStandardPhysics.hh"
|
||||
#include "G4EmLivermorePhysics.hh"
|
||||
#include "G4EmPenelopePhysics.hh"
|
||||
#include "G4EmLowEPPhysics.hh"
|
||||
#include "G4EmStandardPhysics_option4.hh"
|
||||
#include "G4EmPenelopePhysicsMI.hh"
|
||||
|
||||
//EM options
|
||||
#include "G4EmSaturation.hh"
|
||||
#include "G4LossTableManager.hh"
|
||||
#include "G4UAtomicDeexcitation.hh"
|
||||
|
||||
//Hadronic and Extra Physics Lists
|
||||
#include "G4EmExtraPhysics.hh"
|
||||
@@ -63,21 +60,8 @@
|
||||
#include "G4IonPhysics.hh"
|
||||
#include "G4StoppingPhysics.hh"
|
||||
|
||||
//Optical processes
|
||||
#include "G4Cerenkov.hh"
|
||||
#include "G4Scintillation.hh"
|
||||
#include "G4OpAbsorption.hh"
|
||||
#include "G4OpRayleigh.hh"
|
||||
#include "G4OpMieHG.hh"
|
||||
#include "G4OpBoundaryProcess.hh"
|
||||
|
||||
//Decays
|
||||
#include "G4Decay.hh"
|
||||
#include "G4DecayPhysics.hh"
|
||||
#include "G4RadioactiveDecayPhysics.hh"
|
||||
#include "G4PhysicsListHelper.hh"
|
||||
#include "G4RadioactiveDecayBase.hh"
|
||||
#include "G4NuclideTable.hh"
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
@@ -108,7 +92,10 @@ SAXSPhysicsList::SAXSPhysicsList():
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
SAXSPhysicsList::~SAXSPhysicsList() {}
|
||||
SAXSPhysicsList::~SAXSPhysicsList()
|
||||
{
|
||||
delete fPMessenger;
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
@@ -124,16 +111,14 @@ void SAXSPhysicsList::ConstructProcess()
|
||||
//transportation
|
||||
AddTransportation();
|
||||
|
||||
//Atomic deexcitation
|
||||
G4EmParameters* param = G4EmParameters::Instance();
|
||||
param->SetFluo(true); //Activate deexcitation processes and fluorescence
|
||||
param->SetAuger(true); //Activate Auger effect if deexcitation is activated
|
||||
param->SetPixe(true); //Activate Particle Induced X-Ray Emission (PIXE)
|
||||
|
||||
//EM physics
|
||||
fEmPhysicsList->ConstructProcess();
|
||||
|
||||
//Atomic deexcitation
|
||||
G4VAtomDeexcitation* de = new G4UAtomicDeexcitation();
|
||||
de->SetFluo(true); //Activate deexcitation processes and fluorescence
|
||||
de->SetAuger(true); //Activate Auger effect if deexcitation is activated
|
||||
de->SetAugerCascade(true); //Activate Auger Cascade if deexcitation is activated
|
||||
de->SetPIXE(true); //Activate Particle Induced X-Ray Emission (PIXE)
|
||||
G4LossTableManager::Instance()->SetAtomDeexcitation(de);
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
@@ -144,29 +129,29 @@ void SAXSPhysicsList::SelectPhysicsList(const G4String& name)
|
||||
G4cout << "### PhysicsList::SelectPhysicsList: <" << name << "> ###" << G4endl;
|
||||
}
|
||||
|
||||
if (name == "standard") {
|
||||
if (name == "emstandard") {
|
||||
delete fEmPhysicsList;
|
||||
fEmPhysicsList = new G4EmStandardPhysics(verboseLevel);
|
||||
G4cout << "### selected Standard PhysicsList ###" << G4endl;
|
||||
} else if (name == "standard_option4") {
|
||||
} else if (name == "emstandard_opt4") {
|
||||
delete fEmPhysicsList;
|
||||
fEmPhysicsList = new G4EmStandardPhysics_option4(verboseLevel);
|
||||
G4cout << "### selected Standard_option4 PhysicsList ###" << G4endl;
|
||||
} else if (name == "livermore") {
|
||||
} else if (name == "emlivermore") {
|
||||
delete fEmPhysicsList;
|
||||
fEmPhysicsList = new G4EmLivermorePhysics(verboseLevel);
|
||||
G4cout << "### selected Livermore PhysicsList ###" << G4endl;
|
||||
} else if (name == "penelope") {
|
||||
} else if (name == "empenelope") {
|
||||
delete fEmPhysicsList;
|
||||
fEmPhysicsList = new G4EmPenelopePhysics(verboseLevel);
|
||||
G4cout << "### selected Penelope PhysicsList ###" << G4endl;
|
||||
} else if (name == "penelopeMI") {
|
||||
} else if (name == "empenelopeMI") {
|
||||
delete fEmPhysicsList;
|
||||
fEmPhysicsList = new G4EmPenelopePhysicsMI(verboseLevel,"G4EmPenelopeMI",fUseMIFlag);
|
||||
G4cout << "### selected Penelope PhysicsList with MI effects ###" << G4endl;
|
||||
} else if (name == "LowEP") {
|
||||
} else if (name == "emlowenergy") {
|
||||
delete fEmPhysicsList;
|
||||
fEmPhysicsList = new G4EmLowEPPhysics(1,name);
|
||||
fEmPhysicsList = new G4EmLowEPPhysics(verboseLevel);
|
||||
G4cout << "### selected LowEP PhysicsList ###" << G4endl;
|
||||
} else {
|
||||
G4cout << "### PhysicsList::SelectPhysicsList: <" << name
|
||||
@@ -174,17 +159,6 @@ void SAXSPhysicsList::SelectPhysicsList(const G4String& name)
|
||||
}
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
void SAXSPhysicsList::SetCuts()
|
||||
{
|
||||
//set the default cuts value for all particle types
|
||||
SetCutsWithDefault();
|
||||
if (verboseLevel>0) DumpCutValuesTable();
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
void SAXSPhysicsList::SetDefaultCutsValue(G4double value)
|
||||
{
|
||||
//define a new default cuts value
|
||||
|
||||
@@ -32,23 +32,18 @@
|
||||
#include "G4RunManager.hh"
|
||||
#include "G4UnitsTable.hh"
|
||||
#include "G4SystemOfUnits.hh"
|
||||
#include "G4AnalysisManager.hh"
|
||||
|
||||
#include "SAXSRunAction.hh"
|
||||
#include "SAXSRunActionMessenger.hh"
|
||||
#include "SAXSDetectorConstruction.hh"
|
||||
#include "SAXSAnalysis.hh"
|
||||
|
||||
#include "G4SDManager.hh"
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
SAXSRunAction::SAXSRunAction():
|
||||
G4UserRunAction(),
|
||||
fIsFileOpened(false)
|
||||
SAXSRunAction::SAXSRunAction(): G4UserRunAction()
|
||||
{
|
||||
//set the number of events to print progress during the simulation
|
||||
G4RunManager::GetRunManager()->SetPrintProgress(10000);
|
||||
|
||||
//define the messenger
|
||||
fMessenger = new SAXSRunActionMessenger(this);
|
||||
|
||||
@@ -56,48 +51,46 @@ SAXSRunAction::SAXSRunAction():
|
||||
fFileName = "output";
|
||||
|
||||
//Create the analysis manager
|
||||
G4AnalysisManager* analysisManager = G4AnalysisManager::Instance();
|
||||
analysisManager->SetFileName(fFileName);
|
||||
analysisManager->SetNtupleMerging(true); //only for root
|
||||
analysisManager->SetVerboseLevel(1);
|
||||
fAnalysisManager = G4AnalysisManager::Instance();
|
||||
|
||||
fAnalysisManager->SetDefaultFileType("root");
|
||||
fAnalysisManager->SetFileName(fFileName);
|
||||
fAnalysisManager->SetNtupleMerging(true); //only for root
|
||||
fAnalysisManager->SetVerboseLevel(1);
|
||||
|
||||
//Creating the SD scoring ntuple
|
||||
analysisManager->CreateNtuple("part","Particle");
|
||||
analysisManager->CreateNtupleDColumn("e");
|
||||
analysisManager->CreateNtupleDColumn("posx");
|
||||
analysisManager->CreateNtupleDColumn("posy");
|
||||
analysisManager->CreateNtupleDColumn("posz");
|
||||
analysisManager->CreateNtupleDColumn("momx");
|
||||
analysisManager->CreateNtupleDColumn("momy");
|
||||
analysisManager->CreateNtupleDColumn("momz");
|
||||
analysisManager->CreateNtupleDColumn("t");
|
||||
analysisManager->CreateNtupleIColumn("type");
|
||||
analysisManager->CreateNtupleIColumn("trackID");
|
||||
analysisManager->CreateNtupleIColumn("NRi");
|
||||
analysisManager->CreateNtupleIColumn("NCi");
|
||||
analysisManager->CreateNtupleIColumn("NDi");
|
||||
analysisManager->CreateNtupleIColumn("eventID");
|
||||
analysisManager->CreateNtupleDColumn("weight");
|
||||
analysisManager->FinishNtuple();
|
||||
fAnalysisManager->CreateNtuple("part","Particle");
|
||||
fAnalysisManager->CreateNtupleDColumn("e");
|
||||
fAnalysisManager->CreateNtupleDColumn("posx");
|
||||
fAnalysisManager->CreateNtupleDColumn("posy");
|
||||
fAnalysisManager->CreateNtupleDColumn("posz");
|
||||
fAnalysisManager->CreateNtupleDColumn("momx");
|
||||
fAnalysisManager->CreateNtupleDColumn("momy");
|
||||
fAnalysisManager->CreateNtupleDColumn("momz");
|
||||
fAnalysisManager->CreateNtupleDColumn("t");
|
||||
fAnalysisManager->CreateNtupleIColumn("type");
|
||||
fAnalysisManager->CreateNtupleIColumn("trackID");
|
||||
fAnalysisManager->CreateNtupleIColumn("NRi");
|
||||
fAnalysisManager->CreateNtupleIColumn("NCi");
|
||||
fAnalysisManager->CreateNtupleIColumn("NDi");
|
||||
fAnalysisManager->CreateNtupleIColumn("eventID");
|
||||
fAnalysisManager->CreateNtupleDColumn("weight");
|
||||
fAnalysisManager->FinishNtuple();
|
||||
|
||||
//Creating ntuple for scattering
|
||||
analysisManager->CreateNtuple("scatt","Scattering");
|
||||
analysisManager->CreateNtupleIColumn("processID");
|
||||
analysisManager->CreateNtupleDColumn("e");
|
||||
analysisManager->CreateNtupleDColumn("theta");
|
||||
analysisManager->CreateNtupleDColumn("weight");
|
||||
analysisManager->FinishNtuple();
|
||||
fAnalysisManager->CreateNtuple("scatt","Scattering");
|
||||
fAnalysisManager->CreateNtupleIColumn("processID");
|
||||
fAnalysisManager->CreateNtupleDColumn("e");
|
||||
fAnalysisManager->CreateNtupleDColumn("theta");
|
||||
fAnalysisManager->CreateNtupleDColumn("weight");
|
||||
fAnalysisManager->FinishNtuple();
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
SAXSRunAction::~SAXSRunAction() {
|
||||
//write results
|
||||
if (fIsFileOpened)
|
||||
{
|
||||
G4AnalysisManager* analysisManager = G4AnalysisManager::Instance();
|
||||
analysisManager->Write();
|
||||
}
|
||||
SAXSRunAction::~SAXSRunAction()
|
||||
{
|
||||
delete fMessenger;
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
@@ -107,7 +100,7 @@ void SAXSRunAction::BeginOfRunAction(const G4Run*)
|
||||
//open the output file
|
||||
if (!fIsFileOpened)
|
||||
{
|
||||
G4AnalysisManager::Instance()->OpenFile(fFileName);
|
||||
fAnalysisManager->OpenFile(fFileName);
|
||||
fIsFileOpened = true;
|
||||
}
|
||||
}
|
||||
@@ -133,12 +126,15 @@ void SAXSRunAction::EndOfRunAction(const G4Run* run)
|
||||
<< G4endl
|
||||
<< " The run had " << nofEvents << " events";
|
||||
}
|
||||
|
||||
if (fIsFileOpened) {
|
||||
fAnalysisManager->Write();
|
||||
fAnalysisManager->CloseFile();
|
||||
}
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
void SAXSRunAction::SetFileName(G4String filename)
|
||||
void SAXSRunAction::SetFileName(const G4String& filename)
|
||||
{
|
||||
//method to set the output filename
|
||||
if (filename != "") fFileName = filename;
|
||||
|
||||
@@ -45,11 +45,11 @@
|
||||
#include "G4UImanager.hh"
|
||||
#include "G4ios.hh"
|
||||
#include "G4SystemOfUnits.hh"
|
||||
#include "G4AnalysisManager.hh"
|
||||
|
||||
#include "SAXSSteppingAction.hh"
|
||||
#include "SAXSEventAction.hh"
|
||||
#include "SAXSDetectorConstruction.hh"
|
||||
#include "SAXSAnalysis.hh"
|
||||
|
||||
#include "G4Step.hh"
|
||||
#include "G4Track.hh"
|
||||
|
||||
Reference in New Issue
Block a user