Import Geant4 5.0.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-08 16:57:27 +02:00
parent 330b82b769
commit 37fff30d2e
5733 changed files with 263867 additions and 74574 deletions
@@ -22,7 +22,7 @@
//
//
// $Id: Em3CalorHit.cc,v 1.4 2001/10/22 10:58:54 maire Exp $
// GEANT4 tag $Name: geant4-04-01 $
// GEANT4 tag $Name: geant4-05-00 $
//
//
@@ -22,7 +22,7 @@
//
//
// $Id: Em3CalorimeterSD.cc,v 1.4 2001/10/22 10:58:54 maire Exp $
// GEANT4 tag $Name: geant4-04-01 $
// GEANT4 tag $Name: geant4-05-00 $
//
//
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: Em3DetectorConstruction.cc,v 1.5 2001/10/22 10:58:55 maire Exp $
// GEANT4 tag $Name: geant4-04-01 $
// $Id: Em3DetectorConstruction.cc,v 1.6 2002/12/12 11:19:37 maire Exp $
// GEANT4 tag $Name: geant4-05-00 $
//
//
@@ -220,6 +220,14 @@ G4Material* Air = new G4Material(name="Air" , density, ncomponents=2);
Air->AddElement(N, fractionmass=0.7);
Air->AddElement(O, fractionmass=0.3);
density = 1.205*mg/cm3;
pressure = 1.*atmosphere;
temperature = 293.*kelvin;
G4Material* Air20 = new G4Material(name="Air20" , density, ncomponents=2,
kStateGas,temperature,pressure);
Air20->AddElement(N, fractionmass=0.7);
Air20->AddElement(O, fractionmass=0.3);
//
// define a material from elements and/or others materials (mixture of mixtures)
//
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: Em3DetectorMessenger.cc,v 1.6 2001/11/05 15:28:40 maire Exp $
// GEANT4 tag $Name: geant4-04-01 $
// $Id: Em3DetectorMessenger.cc,v 1.8 2002/12/12 11:19:38 maire Exp $
// GEANT4 tag $Name: geant4-05-00 $
//
//
@@ -44,29 +44,29 @@
Em3DetectorMessenger::Em3DetectorMessenger(Em3DetectorConstruction * Em3Det)
:Em3Detector(Em3Det)
{
Em3detDir = new G4UIdirectory("/calor/");
Em3detDir->SetGuidance("Em3 detector control.");
testemDir = new G4UIdirectory("/testem/");
testemDir->SetGuidance("UI commands specific to this example");
SizeYZCmd = new G4UIcmdWithADoubleAndUnit("/calor/setSizeYZ",this);
SizeYZCmd = new G4UIcmdWithADoubleAndUnit("/testem/det/setSizeYZ",this);
SizeYZCmd->SetGuidance("Set tranverse size of the calorimeter");
SizeYZCmd->SetParameterName("Size",false);
SizeYZCmd->SetRange("Size>0.");
SizeYZCmd->SetUnitCategory("Length");
SizeYZCmd->AvailableForStates(PreInit,Idle);
SizeYZCmd->AvailableForStates(G4State_PreInit,G4State_Idle);
NbLayersCmd = new G4UIcmdWithAnInteger("/calor/setNbOfLayers",this);
NbLayersCmd = new G4UIcmdWithAnInteger("/testem/det/setNbOfLayers",this);
NbLayersCmd->SetGuidance("Set number of layers.");
NbLayersCmd->SetParameterName("NbLayers",false);
NbLayersCmd->SetRange("NbLayers>0 && NbLayers<500");
NbLayersCmd->AvailableForStates(PreInit,Idle);
NbLayersCmd->AvailableForStates(G4State_PreInit,G4State_Idle);
NbAbsorCmd = new G4UIcmdWithAnInteger("/calor/setNbOfAbsor",this);
NbAbsorCmd = new G4UIcmdWithAnInteger("/testem/det/setNbOfAbsor",this);
NbAbsorCmd->SetGuidance("Set number of Absorbers.");
NbAbsorCmd->SetParameterName("NbAbsor",false);
NbAbsorCmd->SetRange("NbAbsor>0");
NbAbsorCmd->AvailableForStates(PreInit,Idle);
NbAbsorCmd->AvailableForStates(G4State_PreInit,G4State_Idle);
AbsorCmd = new G4UIcommand("/calor/setAbsor",this);
AbsorCmd = new G4UIcommand("/testem/det/setAbsor",this);
AbsorCmd->SetGuidance("Set the absor nb, the material, the thickness.");
AbsorCmd->SetGuidance(" absor number : from 0 to NbOfAbsor-1");
AbsorCmd->SetGuidance(" material name");
@@ -92,27 +92,27 @@ Em3DetectorMessenger::Em3DetectorMessenger(Em3DetectorConstruction * Em3Det)
unitPrm->SetParameterCandidates(unitList);
AbsorCmd->SetParameter(unitPrm);
//
AbsorCmd->AvailableForStates(Idle);
AbsorCmd->AvailableForStates(G4State_Idle);
MagFieldCmd = new G4UIcmdWithADoubleAndUnit("/calor/setField",this);
MagFieldCmd = new G4UIcmdWithADoubleAndUnit("/testem/det/setField",this);
MagFieldCmd->SetGuidance("Define magnetic field.");
MagFieldCmd->SetGuidance("Magnetic field will be in Z direction.");
MagFieldCmd->SetParameterName("Bz",false);
MagFieldCmd->SetUnitCategory("Magnetic flux density");
MagFieldCmd->AvailableForStates(Idle);
MagFieldCmd->AvailableForStates(G4State_Idle);
UpdateCmd = new G4UIcmdWithoutParameter("/calor/update",this);
UpdateCmd = new G4UIcmdWithoutParameter("/testem/det/update",this);
UpdateCmd->SetGuidance("Update calorimeter geometry.");
UpdateCmd->SetGuidance("This command MUST be applied before \"beamOn\" ");
UpdateCmd->SetGuidance("if you changed geometrical value(s).");
UpdateCmd->AvailableForStates(Idle);
UpdateCmd->AvailableForStates(G4State_Idle);
MaxStepCmd = new G4UIcmdWithADoubleAndUnit("/tracking/stepMax",this);
MaxStepCmd = new G4UIcmdWithADoubleAndUnit("/testem/tracking/stepMax",this);
MaxStepCmd->SetGuidance("Set max allowed step size");
MaxStepCmd->SetParameterName("Size",false);
MaxStepCmd->SetRange("Size>0.");
MaxStepCmd->SetUnitCategory("Length");
MaxStepCmd->AvailableForStates(Idle);
MaxStepCmd->AvailableForStates(G4State_Idle);
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -126,7 +126,7 @@ Em3DetectorMessenger::~Em3DetectorMessenger()
delete MagFieldCmd;
delete UpdateCmd;
delete MaxStepCmd;
delete Em3detDir;
delete testemDir;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -22,7 +22,7 @@
//
//
// $Id: Em3EventAction.cc,v 1.13 2002/06/05 12:13:04 maire Exp $
// GEANT4 tag $Name: geant4-04-01 $
// GEANT4 tag $Name: geant4-05-00 $
//
//
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: Em3EventActionMessenger.cc,v 1.5 2001/11/28 17:54:46 maire Exp $
// GEANT4 tag $Name: geant4-04-01 $
// $Id: Em3EventActionMessenger.cc,v 1.7 2002/12/12 11:19:38 maire Exp $
// GEANT4 tag $Name: geant4-05-00 $
//
//
@@ -41,19 +41,19 @@
Em3EventActionMessenger::Em3EventActionMessenger(Em3EventAction* EvAct)
:eventAction(EvAct)
{
DrawCmd = new G4UIcmdWithAString("/event/drawTracks",this);
DrawCmd = new G4UIcmdWithAString("/testem/event/drawTracks",this);
DrawCmd->SetGuidance("Draw the tracks in the event");
DrawCmd->SetGuidance(" Choice : none, charged(default), all");
DrawCmd->SetParameterName("choice",true);
DrawCmd->SetDefaultValue("all");
DrawCmd->SetCandidates("none charged all");
DrawCmd->AvailableForStates(Idle);
DrawCmd->AvailableForStates(G4State_Idle);
PrintCmd = new G4UIcmdWithAnInteger("/event/printModulo",this);
PrintCmd = new G4UIcmdWithAnInteger("/testem/event/printModulo",this);
PrintCmd->SetGuidance("Print events modulo n");
PrintCmd->SetParameterName("EventNb",false);
PrintCmd->SetRange("EventNb>0");
PrintCmd->AvailableForStates(Idle);
PrintCmd->AvailableForStates(G4State_Idle);
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: Em3PhysicsList.cc,v 1.8 2002/02/14 14:20:46 maire Exp $
// GEANT4 tag $Name: geant4-04-01 $
// $Id: Em3PhysicsList.cc,v 1.9 2002/12/12 11:19:38 maire Exp $
// GEANT4 tag $Name: geant4-05-00 $
//
//
@@ -217,7 +217,6 @@ void Em3PhysicsList::ConstructEM()
}
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#include "G4Decay.hh"
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: Em3PhysicsListMessenger.cc,v 1.3 2001/10/22 10:58:57 maire Exp $
// GEANT4 tag $Name: geant4-04-01 $
// $Id: Em3PhysicsListMessenger.cc,v 1.5 2002/12/12 11:19:38 maire Exp $
// GEANT4 tag $Name: geant4-05-00 $
//
//
@@ -39,26 +39,26 @@
Em3PhysicsListMessenger::Em3PhysicsListMessenger(Em3PhysicsList* pPhys)
:pPhysicsList(pPhys)
{
gammaCutCmd = new G4UIcmdWithADoubleAndUnit("/run/particle/setGCut",this);
gammaCutCmd = new G4UIcmdWithADoubleAndUnit("/testem/phys/setGCut",this);
gammaCutCmd->SetGuidance("Set gamma cut.");
gammaCutCmd->SetParameterName("Gcut",false);
gammaCutCmd->SetUnitCategory("Length");
gammaCutCmd->SetRange("Gcut>0.0");
gammaCutCmd->AvailableForStates(PreInit,Idle);
gammaCutCmd->AvailableForStates(G4State_PreInit,G4State_Idle);
electCutCmd = new G4UIcmdWithADoubleAndUnit("/run/particle/setECut",this);
electCutCmd = new G4UIcmdWithADoubleAndUnit("/testem/phys/setECut",this);
electCutCmd->SetGuidance("Set electron cut.");
electCutCmd->SetParameterName("Ecut",false);
electCutCmd->SetUnitCategory("Length");
electCutCmd->SetRange("Ecut>0.0");
electCutCmd->AvailableForStates(PreInit,Idle);
electCutCmd->AvailableForStates(G4State_PreInit,G4State_Idle);
protoCutCmd = new G4UIcmdWithADoubleAndUnit("/run/particle/setPCut",this);
protoCutCmd = new G4UIcmdWithADoubleAndUnit("/testem/phys/setPCut",this);
protoCutCmd->SetGuidance("Set proton cut.");
protoCutCmd->SetParameterName("Pcut",false);
protoCutCmd->SetUnitCategory("Length");
protoCutCmd->SetRange("Pcut>0.0");
protoCutCmd->AvailableForStates(PreInit,Idle);
protoCutCmd->AvailableForStates(G4State_PreInit,G4State_Idle);
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -22,7 +22,7 @@
//
//
// $Id: Em3PrimaryGeneratorAction.cc,v 1.5 2001/10/22 10:58:57 maire Exp $
// GEANT4 tag $Name: geant4-04-01 $
// GEANT4 tag $Name: geant4-05-00 $
//
//
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: Em3PrimaryGeneratorMessenger.cc,v 1.5 2001/10/22 10:58:57 maire Exp $
// GEANT4 tag $Name: geant4-04-01 $
// $Id: Em3PrimaryGeneratorMessenger.cc,v 1.7 2002/12/12 11:19:38 maire Exp $
// GEANT4 tag $Name: geant4-05-00 $
//
//
@@ -41,16 +41,16 @@ Em3PrimaryGeneratorMessenger::Em3PrimaryGeneratorMessenger(
Em3PrimaryGeneratorAction* Em3Gun)
:Em3Action(Em3Gun)
{
DefaultCmd = new G4UIcmdWithoutParameter("/gun/setDefault",this);
DefaultCmd = new G4UIcmdWithoutParameter("/testem/gun/setDefault",this);
DefaultCmd->SetGuidance("set/reset kinematic defined in PrimaryGenerator");
DefaultCmd->AvailableForStates(PreInit,Idle);
DefaultCmd->AvailableForStates(G4State_PreInit,G4State_Idle);
RndmCmd = new G4UIcmdWithADouble("/gun/rndm",this);
RndmCmd = new G4UIcmdWithADouble("/testem/gun/rndm",this);
RndmCmd->SetGuidance("random lateral extension on the beam");
RndmCmd->SetGuidance("in fraction of 0.5*sizeYZ");
RndmCmd->SetParameterName("rBeam",false);
RndmCmd->SetRange("rBeam>=0.&&rBeam<=1.");
RndmCmd->AvailableForStates(Idle);
RndmCmd->AvailableForStates(G4State_Idle);
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: Em3RunAction.cc,v 1.17 2002/06/05 16:42:24 maire Exp $
// GEANT4 tag $Name: geant4-04-01 $
// $Id: Em3RunAction.cc,v 1.19 2002/12/12 11:19:38 maire Exp $
// GEANT4 tag $Name: geant4-05-00 $
//
//
@@ -44,15 +44,7 @@
#include "g4std/iomanip"
#ifndef G4NOHIST
#include "AIDA/IAnalysisFactory.h"
#include "AIDA/ITreeFactory.h"
#include "AIDA/ITree.h"
#include "AIDA/IHistogramFactory.h"
#include "AIDA/IHistogram1D.h"
#include "AIDA/IAxis.h"
#include "AIDA/IAnnotation.h"
#include "AIDA/ITupleFactory.h"
#include "AIDA/ITuple.h"
#include "AIDA/AIDA.h"
#endif
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -64,13 +56,15 @@ Em3RunAction::Em3RunAction(Em3DetectorConstruction* det)
#ifndef G4NOHIST
// Creating the analysis factory
IAnalysisFactory* af = AIDA_createAnalysisFactory();
AIDA::IAnalysisFactory* af = AIDA_createAnalysisFactory();
// Creating the tree factory
ITreeFactory* tf = af->createTreeFactory();
AIDA::ITreeFactory* tf = af->createTreeFactory();
// Creating a tree mapped to an hbook file.
tree = tf->create("testem3.paw", false, false, "hbook");
G4bool readOnly = false;
G4bool createNew = true;
tree = tf->create("testem3.paw", "hbook", readOnly, createNew);
// Creating a histogram factory, whose histograms will be handled by the tree
hf = af->createHistogramFactory(*tree);
@@ -140,7 +134,7 @@ void Em3RunAction::bookHisto()
for (G4int k=0; k<NbOfAbsor; ++k)
{
if (histo[k]==0)
{ histo[k] = hf->create1D(id[k+1],title+id[k],nbins,vmin,vmax);
{ histo[k] = hf->createHistogram1D(id[k+1],title+id[k],nbins,vmin,vmax);
G4cout << "bookHisto: " << k << " " << histo[k] << G4endl;
}
}
@@ -155,7 +149,7 @@ void Em3RunAction::SetHisto(G4int k,G4int nbins,G4double vmin,G4double vmax)
// (re)book histograms
const G4String title = "Edep/Ebeam in absorber ";
const G4String id[] = {"0","1","2","3","4","5","6","7","8","9","10"};
histo[k] = hf->create1D(id[k+1],title+id[k],nbins,vmin,vmax);
histo[k] = hf->createHistogram1D(id[k+1],title+id[k],nbins,vmin,vmax);
G4cout << "SetHisto: " << k << " " << histo[k] << G4endl;
#endif
}
@@ -175,8 +169,13 @@ void Em3RunAction::EndOfRunAction(const G4Run* aRun)
G4double MeanEAbs,rmsEAbs,MeanLAbs,rmsLAbs;
G4long oldform = G4cout.setf(G4std::ios::fixed,G4std::ios::floatfield);
G4int oldprec = G4cout.precision(2);
#ifdef G4USE_STD_NAMESPACE
G4std::ios::fmtflags mode = G4cout.flags();
G4cout.setf(G4std::ios::fixed,G4std::ios::floatfield);
#else
G4long mode = G4cout.setf(G4std::ios::fixed,G4std::ios::floatfield);
#endif
G4int prec = G4cout.precision(2);
G4cout << "\n-------------------------------------------------------------\n"
<< G4std::setw(51) << "total energy dep"
@@ -205,8 +204,8 @@ void Em3RunAction::EndOfRunAction(const G4Run* aRun)
G4cout << "\n-------------------------------------------------------------";
G4cout << G4endl;
G4cout.setf(oldform,G4std::ios::floatfield);
G4cout.precision(oldprec);
G4cout.setf(mode,G4std::ios::floatfield);
G4cout.precision(prec);
// show Rndm status
HepRandom::showEngineStatus();
@@ -242,8 +241,13 @@ void Em3RunAction::PrintDedxTables()
//print the kinetic energies
//
G4long oldform = G4cout.setf(G4std::ios::fixed,G4std::ios::floatfield);
G4int oldprec = G4cout.precision(3);
#ifdef G4USE_STD_NAMESPACE
G4std::ios::fmtflags mode = G4cout.flags();
G4cout.setf(G4std::ios::fixed,G4std::ios::floatfield);
#else
long mode = G4cout.setf(G4std::ios::fixed,G4std::ios::floatfield);
#endif
G4int prec = G4cout.precision(3);
G4cout << "\n kinetic energies \n ";
for (G4int j=0; j<nbin; ++j) {
@@ -290,8 +294,8 @@ void Em3RunAction::PrintDedxTables()
G4cout << G4endl;
}
G4cout.precision(oldprec);
G4cout.setf(oldform,G4std::ios::floatfield);
G4cout.precision(prec);
G4cout.setf(mode,G4std::ios::floatfield);
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: Em3RunActionMessenger.cc,v 1.8 2001/11/28 17:54:46 maire Exp $
// GEANT4 tag $Name: geant4-04-01 $
// $Id: Em3RunActionMessenger.cc,v 1.10 2002/12/12 11:19:39 maire Exp $
// GEANT4 tag $Name: geant4-05-00 $
//
//
@@ -42,7 +42,7 @@
Em3RunActionMessenger::Em3RunActionMessenger(Em3RunAction* run)
:Em3Run(run)
{
HistoCmd = new G4UIcommand("/run/setHisto",this);
HistoCmd = new G4UIcommand("/testem/run/setHisto",this);
HistoCmd->SetGuidance("Set histo Edep/Ebeam in absorber k");
HistoCmd->SetGuidance(" histo=absor number : from 0 to NbOfAbsor-1");
HistoCmd->SetGuidance(" number of bins; Emin/Ebeam; Emax/Ebeam");
@@ -67,7 +67,7 @@ Em3RunActionMessenger::Em3RunActionMessenger(Em3RunAction* run)
VmaxPrm->SetParameterRange("Vmax>=0.&&Vmax<=1.");
HistoCmd->SetParameter(VmaxPrm);
//
HistoCmd->AvailableForStates(Idle);
HistoCmd->AvailableForStates(G4State_Idle);
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -22,7 +22,7 @@
//
//
// $Id: Em3SteppingAction.cc,v 1.5 2001/10/22 10:58:59 maire Exp $
// GEANT4 tag $Name: geant4-04-01 $
// GEANT4 tag $Name: geant4-05-00 $
//
//
@@ -22,7 +22,7 @@
//
//
// $Id: Em3SteppingVerbose.cc,v 1.8 2001/10/22 10:58:59 maire Exp $
// GEANT4 tag $Name: geant4-04-01 $
// GEANT4 tag $Name: geant4-05-00 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+5 -3
View File
@@ -21,10 +21,10 @@
// ********************************************************************
//
//
// $Id: Em3VisManager.cc,v 1.6 2001/11/15 13:09:47 johna Exp $
// GEANT4 tag $Name: geant4-04-01 $
// $Id: Em3VisManager.cc,v 1.7 2002/11/13 21:39:52 duns Exp $
// GEANT4 tag $Name: geant4-05-00 $
//
//
//
// John Allison 24th January 1998.
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -41,6 +41,7 @@
#include "G4DAWNFILE.hh"
#include "G4GAGTree.hh"
#include "G4HepRepFile.hh"
#include "G4HepRep.hh"
#include "G4RayTracer.hh"
#include "G4VRML1File.hh"
#include "G4VRML2File.hh"
@@ -97,6 +98,7 @@ void Em3VisManager::RegisterGraphicsSystems () {
RegisterGraphicsSystem (new G4DAWNFILE);
RegisterGraphicsSystem (new G4GAGTree);
RegisterGraphicsSystem (new G4HepRepFile);
RegisterGraphicsSystem (new G4HepRep);
RegisterGraphicsSystem (new G4RayTracer);
RegisterGraphicsSystem (new G4VRML1File);
RegisterGraphicsSystem (new G4VRML2File);