Import Geant4 3.1.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-08 16:03:00 +02:00
parent cfcb558cfe
commit 137e303ecc
2843 changed files with 37082 additions and 38426 deletions
+44 -22
View File
@@ -1,4 +1,4 @@
$Id: History,v 1.13 2000/12/06 12:33:38 stesting Exp $
$Id: History,v 1.17 2001/02/20 11:57:29 stesting Exp $
-------------------------------------------------------------------
=========================================================
@@ -15,29 +15,51 @@ track of all tags.
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
20-02-01 S.O'Neale (exampleN02-V03-00-03) update reference outputs following
materials-V03-00-04 (tagset 268)
09-02-01 M.Asai (exampleN02-V03-00-02)
- Migration to STL vector classes
affected file : ExN02SteppingVerbose.cc
31-02-05 S.O'Neale (exampleN02-V03-00-01)
- update reference output for Batch Mode system testing for
exampleN02-V03-00-00 and recent EM Physics tags.
31-01-01 G.Cosmo (exampleN02-V03-00-00)
- fix to ExN02ChamberParameterisation and ExN02DetectorConstruction
to cope with bug report #186. Parameterisation of chambers was not
taking into account that copyNo starts from 0, therefore dimensions
of the first chamber (parametrised G4Box) were set to negative values (!).
This was causing the side-effect of visualising a "ghost" chamber (the
first one close to the target), which was correctly not seen by tracking.
Therefore, number of chambers is now reduced to 5 but global positioning
and parameters have been preserved.
06-12-00 S.O'Neale (exampleN02-V02-00-03)
-update reference output for Batch Mode system testing
in this context 0 trajectories stored is normal.
- update reference output for Batch Mode system testing
in this context 0 trajectories stored is normal.
03-12-00 M.Maire (exampleN02-V02-00-02)
-README updated
-prerun.g4mac updated for new vis commands, and renamed initInter.mac
-new examples of macro: run1.mac, run2.mac
-G4UItcsh in the main, under the control of G4UI_USE_TCSH (for Linux)
-visualisation on interactive mode
-DetectorConstruction: tracker region in the centre of the world.
default target material: Pb, chamber material: Xenon
-interactive commands to change the materials and to setup a magnetic field
-the magnetic field is transverse to the beam (i.e. along x)
-PhysicsList: copy of N03. defaultCut = 1 cm
-PrimaryGenerator: default momentum direction corrected: along z.
Suppress the possibility of random impact and the associated messenger.
-RunAction and EventAction updated for vis commands
-SteppingAction: cleanup because no specific actions
-SteppingVerbose: see README
-TrackerHit: a Hit = 4 informations: trackID, chamberNb, edep, position.
Draw and Print
-TrackerSD: ProcessHits.
Print HitsCollection at end of event
- README updated
- prerun.g4mac updated for new vis commands, and renamed initInter.mac
- new examples of macro: run1.mac, run2.mac
- G4UItcsh in the main, under the control of G4UI_USE_TCSH (for Linux)
- visualisation on interactive mode
- DetectorConstruction: tracker region in the centre of the world.
default target material: Pb, chamber material: Xenon
- interactive commands to change the materials and to setup a magnetic field
- the magnetic field is transverse to the beam (i.e. along x)
- PhysicsList: copy of N03. defaultCut = 1 cm
- PrimaryGenerator: default momentum direction corrected: along z.
Suppress the possibility of random impact and the associated messenger.
- RunAction and EventAction updated for vis commands
- SteppingAction: cleanup because no specific actions
- SteppingVerbose: see README
- TrackerHit: a Hit = 4 informations: trackID, chamberNb, edep, position.
Draw and Print
- TrackerSD: ProcessHits.
Print HitsCollection at end of event
25th November 2000 Steve O'Neale (tagset210)
- Update test outputs for min.delta energy cut
+1 -1
View File
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: exampleN02.cc,v 1.4 2000/12/04 16:24:03 maire Exp $
// GEANT4 tag $Name: geant4-03-00 $
// GEANT4 tag $Name: geant4-03-01 $
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: ExN02ChamberParameterisation.hh,v 1.3 2000/12/04 16:24:04 maire Exp $
// GEANT4 tag $Name: geant4-03-00 $
// GEANT4 tag $Name: geant4-03-01 $
//
//
// A parameterisation that describes a series of boxes along Z
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: ExN02DetectorConstruction.hh,v 1.3 2000/12/04 16:24:05 maire Exp $
// GEANT4 tag $Name: geant4-03-00 $
// GEANT4 tag $Name: geant4-03-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: ExN02DetectorMessenger.hh,v 1.3 2000/12/04 16:24:05 maire Exp $
// GEANT4 tag $Name: geant4-03-00 $
// GEANT4 tag $Name: geant4-03-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: ExN02EventAction.hh,v 1.4 2000/12/04 16:24:05 maire Exp $
// GEANT4 tag $Name: geant4-03-00 $
// GEANT4 tag $Name: geant4-03-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: ExN02MagneticField.hh,v 1.3 2000/12/04 16:24:05 maire Exp $
// GEANT4 tag $Name: geant4-03-00 $
// GEANT4 tag $Name: geant4-03-01 $
//
//
// A class for control of the Magnetic Field of the detector.
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: ExN02PhysicsList.hh,v 1.7 2000/12/04 16:24:05 maire Exp $
// GEANT4 tag $Name: geant4-03-00 $
// GEANT4 tag $Name: geant4-03-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: ExN02PrimaryGeneratorAction.hh,v 1.3 2000/12/04 16:24:05 maire Exp $
// GEANT4 tag $Name: geant4-03-00 $
// GEANT4 tag $Name: geant4-03-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: ExN02RunAction.hh,v 1.4 2000/12/04 16:24:06 maire Exp $
// GEANT4 tag $Name: geant4-03-00 $
// GEANT4 tag $Name: geant4-03-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: ExN02SteppingAction.hh,v 1.4 2000/12/04 16:24:06 maire Exp $
// GEANT4 tag $Name: geant4-03-00 $
// GEANT4 tag $Name: geant4-03-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: ExN02SteppingVerbose.hh,v 1.4 2000/12/04 16:24:06 maire Exp $
// GEANT4 tag $Name: geant4-03-00 $
// GEANT4 tag $Name: geant4-03-01 $
//
// This class manages the verbose outputs in G4SteppingManager.
// It inherits from G4SteppingVerbose.
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: ExN02TrackerHit.hh,v 1.3 2000/12/04 16:24:06 maire Exp $
// GEANT4 tag $Name: geant4-03-00 $
// GEANT4 tag $Name: geant4-03-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: ExN02TrackerSD.hh,v 1.3 2000/12/04 16:24:06 maire Exp $
// GEANT4 tag $Name: geant4-03-00 $
// GEANT4 tag $Name: geant4-03-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: ExN02VisManager.hh,v 1.3 1999/12/15 14:49:21 gunter Exp $
// GEANT4 tag $Name: geant4-03-00 $
// GEANT4 tag $Name: geant4-03-01 $
//
//
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: ExN02ChamberParameterisation.cc,v 1.3 2000/12/04 16:24:07 maire Exp $
// GEANT4 tag $Name: geant4-03-00 $
// $Id: ExN02ChamberParameterisation.cc,v 1.4 2001/01/31 18:05:28 gcosmo Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....
@@ -33,8 +33,8 @@ ExN02ChamberParameterisation::ExN02ChamberParameterisation(
fSpacing = spacingZ;
fHalfLengthFirst = 0.5 * lengthInitial;
// fHalfLengthLast = lengthFinal;
if( NoChambers > 1 ){
fHalfLengthIncr = 0.5 * (lengthFinal-lengthInitial)/(NoChambers-1);
if( NoChambers > 0 ){
fHalfLengthIncr = 0.5 * (lengthFinal-lengthInitial)/NoChambers;
if( spacingZ < widthChamber ) {
G4Exception( "ExN02ChamberParameterisation construction: Width > Spacing" );
@@ -51,9 +51,9 @@ ExN02ChamberParameterisation::~ExN02ChamberParameterisation()
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....
void ExN02ChamberParameterisation::ComputeTransformation
(const G4int copyNo,G4VPhysicalVolume *physVol) const
(const G4int copyNo, G4VPhysicalVolume* physVol) const
{
G4double Zposition= fStartZ + copyNo * fSpacing;
G4double Zposition= fStartZ + (copyNo+1) * fSpacing;
G4ThreeVector origin(0,0,Zposition);
physVol->SetTranslation(origin);
physVol->SetRotation(0);
@@ -62,10 +62,10 @@ void ExN02ChamberParameterisation::ComputeTransformation
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....
void ExN02ChamberParameterisation::ComputeDimensions
(G4Box & trackerChamber, const G4int copyNo,
const G4VPhysicalVolume * physVol) const
(G4Box& trackerChamber, const G4int copyNo,
const G4VPhysicalVolume* physVol) const
{
G4double halfLength= fHalfLengthFirst + (copyNo-1) * fHalfLengthIncr;
G4double halfLength= fHalfLengthFirst + copyNo * fHalfLengthIncr;
trackerChamber.SetXHalfLength(halfLength);
trackerChamber.SetYHalfLength(halfLength);
trackerChamber.SetZHalfLength(fHalfWidth);
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: ExN02DetectorConstruction.cc,v 1.5 2000/12/04 16:24:07 maire Exp $
// GEANT4 tag $Name: geant4-03-00 $
// $Id: ExN02DetectorConstruction.cc,v 1.6 2001/01/31 18:05:28 gcosmo Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....
@@ -99,12 +99,12 @@ G4VPhysicalVolume* ExN02DetectorConstruction::Construct()
//--------- Sizes of the principal geometrical components (solids) ---------
NbOfChambers = 6;
NbOfChambers = 5;
ChamberWidth = 20*cm;
ChamberSpacing = 80*cm;
fTrackerLength = NbOfChambers*ChamberSpacing; // Full length of the Tracker
fTargetLength = 5.0 * cm; // Full length of the Target
fTrackerLength = (NbOfChambers+1)*ChamberSpacing; // Full length of the Tracker
fTargetLength = 5.0 * cm; // Full length of the Target
TargetMater = Pb;
ChamberMater = Xenon;
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: ExN02DetectorMessenger.cc,v 1.3 2000/12/04 16:24:07 maire Exp $
// GEANT4 tag $Name: geant4-03-00 $
// GEANT4 tag $Name: geant4-03-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....
+1 -1
View File
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: ExN02EventAction.cc,v 1.5 2000/12/04 16:24:07 maire Exp $
// GEANT4 tag $Name: geant4-03-00 $
// GEANT4 tag $Name: geant4-03-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: ExN02MagneticField.cc,v 1.4 2000/12/04 16:24:07 maire Exp $
// GEANT4 tag $Name: geant4-03-00 $
// GEANT4 tag $Name: geant4-03-01 $
//
// User Field class implementation.
//
+5 -11
View File
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: ExN02PhysicsList.cc,v 1.8 2000/12/04 16:24:08 maire Exp $
// GEANT4 tag $Name: geant4-03-00 $
// $Id: ExN02PhysicsList.cc,v 1.9 2001/01/09 14:34:34 maire Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
@@ -235,20 +235,14 @@ void ExN02PhysicsList::ConstructEM()
(particle->GetParticleName() != "chargedgeantino")) {
// all others charged particles except geantino
G4VProcess* aMultipleScattering = new G4MultipleScattering();
G4VProcess* anIonisation = new G4hIonisation();
G4VProcess* anIonisation = new G4hIonisation();
////G4VProcess* theUserCuts = new G4UserSpecialCuts();
//
// add processes
pmanager->AddProcess(anIonisation);
pmanager->AddProcess(aMultipleScattering);
/// pmanager->AddProcess(theUserCuts);
//
// set ordering for AtRestDoIt
////pmanager->SetProcessOrderingToFirst(theUserCuts,idxAtRest);
pmanager->AddProcess(aMultipleScattering);
////pmanager->AddProcess(theUserCuts);
//
// set ordering for AlongStepDoIt
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: ExN02PrimaryGeneratorAction.cc,v 1.3 2000/12/04 16:24:08 maire Exp $
// GEANT4 tag $Name: geant4-03-00 $
// GEANT4 tag $Name: geant4-03-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....
+1 -1
View File
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: ExN02RunAction.cc,v 1.4 2000/12/04 16:24:08 maire Exp $
// GEANT4 tag $Name: geant4-03-00 $
// GEANT4 tag $Name: geant4-03-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: ExN02SteppingAction.cc,v 1.4 2000/12/04 16:24:08 maire Exp $
// GEANT4 tag $Name: geant4-03-00 $
// GEANT4 tag $Name: geant4-03-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....
+15 -14
View File
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: ExN02SteppingVerbose.cc,v 1.4 2000/12/04 16:24:08 maire Exp $
// GEANT4 tag $Name: geant4-03-00 $
// $Id: ExN02SteppingVerbose.cc,v 1.6 2001/02/08 08:33:31 tsasaki Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....
@@ -46,7 +46,7 @@ void ExN02SteppingVerbose::StepInfo()
<< G4std::setw( 9) << "dEStep" << " "
<< G4std::setw(10) << "StepLeng"
<< G4std::setw(10) << "TrakLeng"
<< G4std::setw(10) << "NextVolu"
<< G4std::setw(10) << "Volume" << " "
<< G4std::setw(10) << "Process" << G4endl;
}
@@ -61,16 +61,17 @@ void ExN02SteppingVerbose::StepInfo()
// if( fStepStatus != fWorldBoundary){
if( fTrack->GetNextVolume() != 0 ) {
G4cout << G4std::setw(10) << fTrack->GetNextVolume()->GetName();
G4cout << G4std::setw(10) << fTrack->GetVolume()->GetName();
} else {
G4cout << G4std::setw(10) << "OutOfWorld";
}
if(fStep->GetPostStepPoint()->GetProcessDefinedStep() != NULL){
G4cout << G4std::setw(10) << fStep->GetPostStepPoint()->GetProcessDefinedStep()
->GetProcessName();
G4cout << " "
<< G4std::setw(10) << fStep->GetPostStepPoint()->GetProcessDefinedStep()
->GetProcessName();
} else {
G4cout << "User Limit";
G4cout << " UserLimit";
}
G4cout << G4endl;
@@ -86,12 +87,12 @@ void ExN02SteppingVerbose::StepInfo()
<< ",Along=" << G4std::setw(2) << fN2ndariesAlongStepDoIt
<< ",Post=" << G4std::setw(2) << fN2ndariesPostStepDoIt
<< "), "
<< "#SpawnTotal=" << G4std::setw(3) << (*fSecondary).entries()
<< "#SpawnTotal=" << G4std::setw(3) << (*fSecondary).size()
<< " ---------------"
<< G4endl;
for(G4int lp1=(*fSecondary).entries()-tN2ndariesTot;
lp1<(*fSecondary).entries(); lp1++){
for(G4int lp1=(*fSecondary).size()-tN2ndariesTot;
lp1<(*fSecondary).size(); lp1++){
G4cout << " : "
<< G4std::setw(6)
<< G4BestUnit((*fSecondary)[lp1]->GetPosition().x(),"Length")
@@ -134,7 +135,7 @@ G4int prec = G4cout.precision(3);
<< G4std::setw( 9) << "dEStep" << " "
<< G4std::setw(10) << "StepLeng"
<< G4std::setw(10) << "TrakLeng"
<< G4std::setw(10) << "NextVolu"
<< G4std::setw(10) << "Volume" << " "
<< G4std::setw(10) << "Process" << G4endl;
G4cout << G4std::setw( 5) << fTrack->GetCurrentStepNumber() << " "
@@ -147,11 +148,11 @@ G4int prec = G4cout.precision(3);
<< G4std::setw( 6) << G4BestUnit(fTrack->GetTrackLength(),"Length");
if(fTrack->GetNextVolume()){
G4cout << G4std::setw(10) << fTrack->GetNextVolume()->GetName() << " ";
G4cout << G4std::setw(10) << fTrack->GetVolume()->GetName();
} else {
G4cout << G4std::setw(10) << "OutOfWorld" << " ";
G4cout << G4std::setw(10) << "OutOfWorld";
}
G4cout << G4std::setw(10) << "initStep" << G4endl;
G4cout << " initStep" << G4endl;
}
G4cout.precision(prec);
}
+1 -1
View File
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: ExN02TrackerHit.cc,v 1.4 2000/12/06 07:54:08 gcosmo Exp $
// GEANT4 tag $Name: geant4-03-00 $
// GEANT4 tag $Name: geant4-03-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....
+1 -1
View File
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: ExN02TrackerSD.cc,v 1.3 2000/12/04 16:24:09 maire Exp $
// GEANT4 tag $Name: geant4-03-00 $
// GEANT4 tag $Name: geant4-03-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....
+1 -1
View File
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: ExN02VisManager.cc,v 1.3 1999/12/15 14:49:22 gunter Exp $
// GEANT4 tag $Name: geant4-03-00 $
// GEANT4 tag $Name: geant4-03-01 $
//
//
// John Allison 24th January 1998.