Import Geant4 5.2.0 source tree
This commit is contained in:
@@ -212,11 +212,11 @@ void DMXAnalysisManager::Finish()
|
||||
{
|
||||
|
||||
// Committing the transaction with the tree
|
||||
G4std::cout << "Committing..." << G4std::endl;
|
||||
std::cout << "Committing..." << std::endl;
|
||||
// write all histograms to file
|
||||
tree->commit();
|
||||
|
||||
G4std::cout << "Closing the tree..." << G4std::endl;
|
||||
std::cout << "Closing the tree..." << std::endl;
|
||||
|
||||
// close (will again commit)
|
||||
tree->close();
|
||||
|
||||
@@ -127,6 +127,21 @@
|
||||
metalAl->AddElement(Al, 1);
|
||||
|
||||
|
||||
// photocathode aluminium
|
||||
G4Material* cathmetalAl = new G4Material
|
||||
(name="CathodeMetalAluminium", density=2.700*g/cm3, ncomponents=1);
|
||||
cathmetalAl->AddElement(Al, 1);
|
||||
|
||||
G4double cathmetal_PP[NUMENTRIES] = { 5.0*eV, 6.69*eV, 7.50*eV };
|
||||
G4double cathmetal_RIND[NUMENTRIES] = { 1.51, 1.57, 1.61 }; // ref index
|
||||
G4double cathmetal_ABSL[NUMENTRIES] = { 1.e-20*m, 1.e-20*m, 1.e-20*m };// atten length
|
||||
// G4double cathmetal_ABSL[NUMENTRIES] = { 3.0*cm, 3.0*cm, 3.0*cm };// atten length
|
||||
G4MaterialPropertiesTable *cathmetal_mt = new G4MaterialPropertiesTable();
|
||||
cathmetal_mt->AddProperty("RINDEX", cathmetal_PP, cathmetal_RIND,NUMENTRIES);
|
||||
cathmetal_mt->AddProperty("ABSLENGTH", cathmetal_PP, cathmetal_ABSL, NUMENTRIES);
|
||||
cathmetalAl->SetMaterialPropertiesTable(cathmetal_mt);
|
||||
|
||||
|
||||
// iron
|
||||
G4Element* Fe = new G4Element
|
||||
(name="Iron" ,symbol="Fe" , z= 26., a=55.85*g/mole);
|
||||
@@ -246,7 +261,8 @@ jacketflange_mat = ssteel;
|
||||
vacuum_mat = vacuum;
|
||||
copper_mat = metalCu;
|
||||
vessel_mat = ssteel;
|
||||
GXe_mat = GXe;
|
||||
// GXe_mat = GXe;
|
||||
GXe_mat = LXe;
|
||||
CuShield_mat = metalCu;
|
||||
LXe_mat = LXe;
|
||||
alpha_mat = metalPb;
|
||||
@@ -255,4 +271,4 @@ jacketflange_mat = ssteel;
|
||||
mirror_mat = metalAl;
|
||||
grid_mat = LXe;
|
||||
pmt_mat = quartz;
|
||||
phcath_mat = metalAl;
|
||||
phcath_mat = cathmetalAl;
|
||||
|
||||
@@ -534,16 +534,16 @@
|
||||
G4RotationMatrix rotMatrixDesk4;
|
||||
rotMatrixDesk4.rotateZ(0.0*deg);
|
||||
|
||||
for (i=0; i<3; i++)
|
||||
for (G4int j=0; j<3; j++)
|
||||
{
|
||||
if( i == 2)
|
||||
if( j == 2)
|
||||
{
|
||||
desk_Y += crateWidth;
|
||||
crate_Y = desk_Y - 0.5*(desk4Width + crateWidth);
|
||||
}
|
||||
desk4_phys = new G4PVPlacement
|
||||
(G4Transform3D(rotMatrixDesk4, G4ThreeVector(desk_X, desk_Y, desk_Z)),
|
||||
"desk4_phys", desk4_log, lab_phys, false, i);
|
||||
"desk4_phys", desk4_log, lab_phys, false, j);
|
||||
desk_Y += desk4Width+2.0*cm;
|
||||
}
|
||||
|
||||
|
||||
@@ -65,8 +65,8 @@
|
||||
#include "G4UImanager.hh"
|
||||
#include "G4UnitsTable.hh"
|
||||
#include "G4ios.hh"
|
||||
#include "g4std/fstream"
|
||||
#include "g4std/iomanip"
|
||||
#include <fstream>
|
||||
#include <iomanip>
|
||||
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
@@ -295,9 +295,9 @@ void DMXEventAction::writeScintHitsToFile(void) {
|
||||
|
||||
// G4String filename="hits.out";
|
||||
G4String filename=runAct->GetsavehitsFile();
|
||||
G4std::ofstream hitsfile(filename, G4std::ios::app);
|
||||
std::ofstream hitsfile(filename, std::ios::app);
|
||||
if(!event_id) {
|
||||
G4std::ofstream hitsfile(filename);
|
||||
std::ofstream hitsfile(filename);
|
||||
hitsfile <<"Evt Eprim Etot LXe LXeTime PMT PMTTime Seed1 Seed2 First Flags"
|
||||
<< G4endl;
|
||||
hitsfile <<"# MeV MeV hits ns hits ns hit"
|
||||
@@ -310,20 +310,20 @@ void DMXEventAction::writeScintHitsToFile(void) {
|
||||
if(hitsfile.is_open()) {
|
||||
|
||||
|
||||
hitsfile << G4std::setiosflags(G4std::ios::fixed)
|
||||
<< G4std::setprecision(4)
|
||||
<< G4std::setiosflags(G4std::ios::left)
|
||||
<< G4std::setw(6)
|
||||
hitsfile << std::setiosflags(std::ios::fixed)
|
||||
<< std::setprecision(4)
|
||||
<< std::setiosflags(std::ios::left)
|
||||
<< std::setw(6)
|
||||
<< event_id << "\t"
|
||||
<< energy_pri/MeV << "\t"
|
||||
<< totEnergy/MeV << "\t"
|
||||
<< S_hits << "\t"
|
||||
<< G4std::setiosflags(G4std::ios::scientific)
|
||||
<< G4std::setprecision(2)
|
||||
<< std::setiosflags(std::ios::scientific)
|
||||
<< std::setprecision(2)
|
||||
<< firstLXeHitTime/nanosecond << "\t"
|
||||
<< P_hits << "\t"
|
||||
<< G4std::setiosflags(G4std::ios::fixed)
|
||||
<< G4std::setprecision(4)
|
||||
<< std::setiosflags(std::ios::fixed)
|
||||
<< std::setprecision(4)
|
||||
<< aveTimePmtHits/nanosecond << "\t"
|
||||
<< *seeds << "\t"
|
||||
<< *(seeds+1) << "\t"
|
||||
@@ -357,15 +357,15 @@ void DMXEventAction::writePmtHitsToFile(const DMXPmtHitsCollection* hits) {
|
||||
|
||||
// G4String filename="pmt.out";
|
||||
G4String filename=runAct->GetsavepmtFile();
|
||||
G4std::ofstream pmtfile(filename, G4std::ios::app);
|
||||
std::ofstream pmtfile(filename, std::ios::app);
|
||||
G4double x; G4double y; G4double z;
|
||||
|
||||
if(pmtfile.is_open()) {
|
||||
pmtfile << "Hit# X, mm Y, mm Z, mm" << G4endl;
|
||||
pmtfile << G4std::setiosflags(G4std::ios::fixed)
|
||||
<< G4std::setprecision(3)
|
||||
<< G4std::setiosflags(G4std::ios::left)
|
||||
<< G4std::setw(6);
|
||||
pmtfile << std::setiosflags(std::ios::fixed)
|
||||
<< std::setprecision(3)
|
||||
<< std::setiosflags(std::ios::left)
|
||||
<< std::setw(6);
|
||||
for (G4int i=0; i<P_hits; i++)
|
||||
{
|
||||
x = ((*hits)[i]->GetPos()).x()/mm;
|
||||
|
||||
@@ -126,7 +126,7 @@ void DMXEventActionMessenger::SetNewValue
|
||||
if(command == DrawHitsCmd) {
|
||||
G4int vl;
|
||||
const char* t = newValue;
|
||||
G4std::istrstream is((char*)t);
|
||||
std::istrstream is((char*)t);
|
||||
is >> vl;
|
||||
eventAction->SetDrawHitsFlag(vl!=0);
|
||||
}
|
||||
@@ -134,7 +134,7 @@ void DMXEventActionMessenger::SetNewValue
|
||||
if(command == SavePmtCmd) {
|
||||
G4int vl;
|
||||
const char* t = newValue;
|
||||
G4std::istrstream is((char*)t);
|
||||
std::istrstream is((char*)t);
|
||||
is >> vl;
|
||||
eventAction->SetSavePmtFlag(vl!=0);
|
||||
}
|
||||
@@ -142,7 +142,7 @@ void DMXEventActionMessenger::SetNewValue
|
||||
if(command == SaveHitsCmd) {
|
||||
G4int vl;
|
||||
const char* t = newValue;
|
||||
G4std::istrstream is((char*)t);
|
||||
std::istrstream is((char*)t);
|
||||
is >> vl;
|
||||
eventAction->SetSaveHitsFlag(vl!=0);
|
||||
}
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: DMXMinEkineCuts.cc,v 1.2 2002/06/18 10:17:30 ahoward Exp $
|
||||
// GEANT4 tag $Name: geant4-05-01 $
|
||||
// GEANT4 tag $Name: geant4-05-02 $
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------
|
||||
|
||||
@@ -57,10 +57,10 @@
|
||||
#include "G4UIcmdWithADouble.hh"
|
||||
#include "G4UIcmdWithABool.hh"
|
||||
#include "G4ios.hh"
|
||||
#include "g4std/fstream"
|
||||
#include "g4std/iomanip"
|
||||
#include <fstream>
|
||||
#include <iomanip>
|
||||
#include "G4Tokenizer.hh"
|
||||
#include "g4std/strstream"
|
||||
#include <strstream>
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
DMXParticleSourceMessenger::DMXParticleSourceMessenger
|
||||
|
||||
@@ -34,6 +34,11 @@
|
||||
// (27th November 2001)
|
||||
//
|
||||
// PhysicsList program
|
||||
//
|
||||
// Modified:
|
||||
//
|
||||
// 14-02-03 Fix bugs in msc and hIon instanciation + cut per region
|
||||
//
|
||||
// --------------------------------------------------------------
|
||||
|
||||
#include "DMXPhysicsList.hh"
|
||||
@@ -48,7 +53,7 @@
|
||||
#include "G4ParticleTable.hh"
|
||||
|
||||
#include "G4ios.hh"
|
||||
#include "g4std/iomanip"
|
||||
#include <iomanip>
|
||||
|
||||
#include "G4UserLimits.hh"
|
||||
|
||||
@@ -256,23 +261,15 @@ void DMXPhysicsList::AddTransportation() {
|
||||
void DMXPhysicsList::ConstructEM() {
|
||||
|
||||
// processes:
|
||||
G4MultipleScattering* aMultipleScattering = new G4MultipleScattering();
|
||||
|
||||
G4LowEnergyPhotoElectric* lowePhot = new G4LowEnergyPhotoElectric();
|
||||
G4LowEnergyIonisation* loweIon = new G4LowEnergyIonisation();
|
||||
G4LowEnergyBremsstrahlung* loweBrem = new G4LowEnergyBremsstrahlung();
|
||||
G4hLowEnergyIonisation* ahadronLowEIon = new G4hLowEnergyIonisation();
|
||||
|
||||
// note LowEIon uses proton as basis for its data-base, therefore
|
||||
// cannot specify different LowEnergyIonisation models for different
|
||||
// particles, but can change model globally for Ion, Alpha and Proton.
|
||||
|
||||
// ahadronLowEIon->SetNuclearStoppingOff() ;
|
||||
ahadronLowEIon->SetNuclearStoppingPowerModel("ICRU_R49") ;
|
||||
ahadronLowEIon->SetNuclearStoppingOn() ;
|
||||
|
||||
//fluorescence switch off for hadrons (for now) PIXE:
|
||||
ahadronLowEIon->SetFluorescence(false);
|
||||
|
||||
//fluorescence apply specific cut for fluorescence from photons, electrons
|
||||
//and bremsstrahlung photons:
|
||||
@@ -312,6 +309,7 @@ void DMXPhysicsList::ConstructEM() {
|
||||
//electron
|
||||
// process ordering: AddProcess(name, at rest, along step, post step)
|
||||
// -1 = not implemented, then ordering
|
||||
G4MultipleScattering* aMultipleScattering = new G4MultipleScattering();
|
||||
pmanager->AddProcess(aMultipleScattering, -1, 1, 1);
|
||||
pmanager->AddProcess(loweIon, -1, 2, 2);
|
||||
pmanager->AddProcess(loweBrem, -1,-1, 3);
|
||||
@@ -319,6 +317,7 @@ void DMXPhysicsList::ConstructEM() {
|
||||
else if (particleName == "e+")
|
||||
{
|
||||
//positron
|
||||
G4MultipleScattering* aMultipleScattering = new G4MultipleScattering();
|
||||
pmanager->AddProcess(aMultipleScattering, -1, 1, 1);
|
||||
pmanager->AddProcess(new G4eIonisation(), -1, 2, 2);
|
||||
pmanager->AddProcess(new G4eBremsstrahlung(), -1,-1, 3);
|
||||
@@ -328,6 +327,7 @@ void DMXPhysicsList::ConstructEM() {
|
||||
particleName == "mu-" )
|
||||
{
|
||||
//muon
|
||||
G4MultipleScattering* aMultipleScattering = new G4MultipleScattering();
|
||||
pmanager->AddProcess(aMultipleScattering, -1, 1, 1);
|
||||
pmanager->AddProcess(new G4MuIonisation(), -1, 2, 2);
|
||||
pmanager->AddProcess(new G4MuBremsstrahlung(), -1,-1, 3);
|
||||
@@ -346,14 +346,24 @@ void DMXPhysicsList::ConstructEM() {
|
||||
// OBJECT may be dynamically created as either a GenericIon or nucleus
|
||||
// G4Nucleus exists and therefore has particle type nucleus
|
||||
// genericIon:
|
||||
G4MultipleScattering* aMultipleScattering = new G4MultipleScattering();
|
||||
G4hLowEnergyIonisation* ahadronLowEIon = new G4hLowEnergyIonisation();
|
||||
pmanager->AddProcess(aMultipleScattering,-1,1,1);
|
||||
pmanager->AddProcess(ahadronLowEIon,-1,2,2);
|
||||
// ahadronLowEIon->SetNuclearStoppingOff() ;
|
||||
// ahadronLowEIon->SetNuclearStoppingPowerModel("ICRU_R49") ;
|
||||
// ahadronLowEIon->SetNuclearStoppingOn() ;
|
||||
|
||||
//fluorescence switch off for hadrons (for now) PIXE:
|
||||
ahadronLowEIon->SetFluorescence(false);
|
||||
}
|
||||
else if ((!particle->IsShortLived()) &&
|
||||
(charge != 0.0) &&
|
||||
(particle->GetParticleName() != "chargedgeantino"))
|
||||
{
|
||||
//all others charged particles except geantino
|
||||
G4MultipleScattering* aMultipleScattering = new G4MultipleScattering();
|
||||
G4hLowEnergyIonisation* ahadronLowEIon = new G4hLowEnergyIonisation();
|
||||
pmanager->AddProcess(aMultipleScattering,-1,1,1);
|
||||
pmanager->AddProcess(ahadronLowEIon, -1,2,2);
|
||||
// pmanager->AddProcess(new G4hIonisation(), -1,2,2);
|
||||
@@ -807,12 +817,12 @@ void DMXPhysicsList::SetCuts()
|
||||
SetCutValue(cutForElectron, "e-");
|
||||
SetCutValue(cutForPositron, "e+");
|
||||
|
||||
SetCutValue(cutForProton, "proton");
|
||||
SetCutValue(cutForProton, "anti_proton");
|
||||
SetCutValue(cutForAlpha, "alpha");
|
||||
SetCutValue(cutForGenericIon, "GenericIon");
|
||||
// SetCutValue(cutForProton, "proton");
|
||||
// SetCutValue(cutForProton, "anti_proton");
|
||||
// SetCutValue(cutForAlpha, "alpha");
|
||||
// SetCutValue(cutForGenericIon, "GenericIon");
|
||||
|
||||
SetCutValueForOthers(defaultCutValue);
|
||||
// SetCutValueForOthers(defaultCutValue);
|
||||
|
||||
if (verboseLevel>0) DumpCutValuesTable();
|
||||
}
|
||||
|
||||
@@ -44,7 +44,7 @@
|
||||
#include "G4Colour.hh"
|
||||
#include "G4VisAttributes.hh"
|
||||
|
||||
#include "g4std/iomanip"
|
||||
#include <iomanip>
|
||||
|
||||
G4Allocator<DMXPmtHit> DMXPmtHitsAllocator;
|
||||
|
||||
@@ -108,7 +108,7 @@ void DMXPmtHit::Print() {
|
||||
|
||||
// G4cout << " PMT hit: " << G4BestUnit(pos,"Length") << G4endl;
|
||||
|
||||
G4cout << " PMT hit: " << G4std::setw(5) << G4BestUnit(time,"Time")
|
||||
G4cout << " PMT hit: " << std::setw(5) << G4BestUnit(time,"Time")
|
||||
<< ", at " << G4BestUnit(pos,"Length") << G4endl;
|
||||
|
||||
|
||||
|
||||
@@ -47,9 +47,9 @@
|
||||
#include "G4VVisManager.hh"
|
||||
#include "G4ios.hh"
|
||||
|
||||
#include "g4std/fstream"
|
||||
#include "g4std/iomanip"
|
||||
#include "g4std/vector"
|
||||
#include <fstream>
|
||||
#include <iomanip>
|
||||
#include <vector>
|
||||
|
||||
#ifdef G4ANALYSIS_USE
|
||||
#include "DMXAnalysisManager.hh"
|
||||
|
||||
@@ -110,7 +110,7 @@ void DMXRunActionMessenger::SetNewValue(G4UIcommand * command,G4String newValue)
|
||||
if(command == PlotEventCmd) {
|
||||
G4int vl;
|
||||
const char* t = newValue;
|
||||
G4std::istrstream is((char*)t);
|
||||
std::istrstream is((char*)t);
|
||||
is >> vl;
|
||||
DMXRun->Setplotevent(vl!=0);
|
||||
}
|
||||
@@ -118,7 +118,7 @@ void DMXRunActionMessenger::SetNewValue(G4UIcommand * command,G4String newValue)
|
||||
if(command == InteractPlotCmd) {
|
||||
G4int vl;
|
||||
const char* t = newValue;
|
||||
G4std::istrstream is((char*)t);
|
||||
std::istrstream is((char*)t);
|
||||
is >> vl;
|
||||
DMXRun->Setinteractplot(vl!=0);
|
||||
}
|
||||
|
||||
@@ -42,7 +42,7 @@
|
||||
#include "G4Circle.hh"
|
||||
#include "G4Colour.hh"
|
||||
#include "G4VisAttributes.hh"
|
||||
#include "g4std/iomanip"
|
||||
#include <iomanip>
|
||||
|
||||
G4Allocator<DMXScintHit> DMXScintHitAllocator;
|
||||
|
||||
@@ -100,7 +100,7 @@ void DMXScintHit::Draw()
|
||||
void DMXScintHit::Print()
|
||||
{
|
||||
|
||||
G4cout << " LXe hit ENERGY: " << G4std::setw(5) << G4BestUnit(edep,"Energy")
|
||||
G4cout << " LXe hit ENERGY: " << std::setw(5) << G4BestUnit(edep,"Energy")
|
||||
<< ", at " << G4BestUnit(pos,"Length") << G4endl;
|
||||
}
|
||||
|
||||
|
||||
@@ -67,7 +67,7 @@ void DMXStackingActionMessenger::SetNewValue
|
||||
if(command==KillGammasCmd) {
|
||||
G4int vl;
|
||||
const char* t = newValue;
|
||||
G4std::istrstream is((char*)t);
|
||||
std::istrstream is((char*)t);
|
||||
is >> vl;
|
||||
DMXAction->SetKillGammasFlag(vl!=0);
|
||||
}
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
// Comments
|
||||
//
|
||||
// Underground Advanced
|
||||
// by A. Howard and H. Araujo
|
||||
// by A. Howard and H. Araujo
|
||||
// (27th November 2001)
|
||||
//
|
||||
// VisManager program
|
||||
@@ -47,6 +47,7 @@
|
||||
#include "G4DAWNFILE.hh"
|
||||
#include "G4GAGTree.hh"
|
||||
#include "G4HepRepFile.hh"
|
||||
#include "G4HepRep.hh"
|
||||
#include "G4RayTracer.hh"
|
||||
#include "G4VRML1File.hh"
|
||||
#include "G4VRML2File.hh"
|
||||
@@ -103,6 +104,7 @@ void DMXVisManager::RegisterGraphicsSystems () {
|
||||
RegisterGraphicsSystem (new G4DAWNFILE);
|
||||
RegisterGraphicsSystem (new G4GAGTree);
|
||||
RegisterGraphicsSystem (new G4HepRepFile);
|
||||
RegisterGraphicsSystem (new G4HepRep);
|
||||
RegisterGraphicsSystem (new G4RayTracer);
|
||||
RegisterGraphicsSystem (new G4VRML1File);
|
||||
RegisterGraphicsSystem (new G4VRML2File);
|
||||
|
||||
Reference in New Issue
Block a user