Import Geant4 7.0.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-09 11:11:55 +02:00
parent e083ffb441
commit 516dbf1a58
5914 changed files with 202605 additions and 71141 deletions
@@ -22,7 +22,7 @@
//
//
// $Id: DetectorConstruction.hh,v 1.1 2003/10/06 10:02:22 maire Exp $
// GEANT4 tag $Name: geant4-06-00-patch-01 $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
//
//
@@ -20,12 +20,9 @@
// * statement, and all its terms. *
// ********************************************************************
//
// $Id: DetectorMessenger.hh,v 1.2 2004/09/15 13:17:18 maire Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
//
// $Id: DetectorMessenger.hh,v 1.1 2003/10/06 10:02:22 maire Exp $
// GEANT4 tag $Name: geant4-06-00-patch-01 $
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -57,6 +54,7 @@ class DetectorMessenger: public G4UImessenger
DetectorConstruction* Detector;
G4UIdirectory* testemDir;
G4UIdirectory* detDir;
G4UIcmdWithAString* MaterCmd;
G4UIcmdWithADoubleAndUnit* SizeCmd;
G4UIcmdWithADoubleAndUnit* MagFieldCmd;
@@ -22,7 +22,7 @@
//
//
// $Id: EventAction.hh,v 1.2 2003/10/28 10:27:25 vnivanch Exp $
// GEANT4 tag $Name: geant4-06-00-patch-01 $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
//
//
@@ -20,12 +20,9 @@
// * statement, and all its terms. *
// ********************************************************************
//
// $Id: EventActionMessenger.hh,v 1.2 2004/09/15 13:17:18 maire Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
//
// $Id: EventActionMessenger.hh,v 1.1 2003/10/06 10:02:24 maire Exp $
// GEANT4 tag $Name: geant4-06-00-patch-01 $
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -36,6 +33,7 @@
#include "globals.hh"
class EventAction;
class G4UIdirectory;
class G4UIcmdWithAString;
class G4UIcmdWithAnInteger;
@@ -50,8 +48,10 @@ class EventActionMessenger: public G4UImessenger
void SetNewValue(G4UIcommand*, G4String);
private:
EventAction* eventAction;
G4UIcmdWithAString* DrawCmd;
EventAction* eventAction;
G4UIdirectory* eventDir;
G4UIcmdWithAString* DrawCmd;
G4UIcmdWithAnInteger* PrintCmd;
};
@@ -20,8 +20,8 @@
// * statement, and all its terms. *
// ********************************************************************
//
// $Id: G4eBremsstrahlungCMS.hh,v 1.2 2003/10/24 12:06:36 maire Exp $
// GEANT4 tag $Name: geant4-06-00-patch-01 $
// $Id: G4eBremsstrahlungCMS.hh,v 1.3 2004/11/01 09:57:11 vnivanch Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
//
// -------------------------------------------------------------------
//
@@ -38,7 +38,6 @@
//
// 17-10-03 model variant (V.Ivanchenko)
//
//
// Class Description:
//
// This class manages the bremsstrahlungCMS for e-/e+
@@ -0,0 +1,91 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * 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. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
// $Id: HistoManager.hh,v 1.2 2004/09/15 13:17:18 maire Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#ifndef HistoManager_h
#define HistoManager_h 1
#include "globals.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
namespace AIDA {
class IAnalysisFactory;
class ITree;
class IHistogramFactory;
class IHistogram1D;
}
class HistoMessenger;
const G4int MaxHisto = 4;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
class HistoManager
{
public:
HistoManager();
~HistoManager();
void SetFileName (const G4String& name) { fileName = name;};
void SetFileType (const G4String& name) { fileType = name;};
void book();
void save();
void SetHisto (G4int,G4int,G4double,G4double,const G4String& unit="none");
void FillHisto(G4int id, G4double e, G4double weight = 1.0);
void RemoveHisto (G4int);
G4bool HistoExist (G4int id) {return exist[id];}
G4double GetHistoUnit(G4int id) {return Unit[id];}
G4double GetBinWidth (G4int id) {return Width[id];}
private:
G4String fileName;
G4String fileType;
AIDA::IAnalysisFactory* af;
AIDA::ITree* tree;
AIDA::IHistogramFactory* hf;
AIDA::IHistogram1D* histo[MaxHisto];
G4bool exist[MaxHisto];
G4String Label[MaxHisto];
G4String Title[MaxHisto];
G4int Nbins[MaxHisto];
G4double Vmin [MaxHisto];
G4double Vmax [MaxHisto];
G4double Unit [MaxHisto];
G4double Width[MaxHisto];
G4bool factoryOn;
HistoMessenger* histoMessenger;
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#endif
@@ -0,0 +1,69 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * 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. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
// $Id: HistoMessenger.hh,v 1.1 2004/07/23 15:39:34 maire Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#ifndef HistoMessenger_h
#define HistoMessenger_h 1
#include "G4UImessenger.hh"
#include "globals.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
class HistoManager;
class G4UIdirectory;
class G4UIcommand;
class G4UIcmdWithAString;
class G4UIcmdWithAnInteger;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
class HistoMessenger: public G4UImessenger
{
public:
HistoMessenger(HistoManager* );
~HistoMessenger();
void SetNewValue(G4UIcommand* ,G4String );
private:
HistoManager* histoManager;
G4UIdirectory* histoDir;
G4UIcmdWithAString* factoryCmd;
G4UIcmdWithAString* typeCmd;
G4UIcommand* histoCmd;
G4UIcmdWithAnInteger* rmhistoCmd;
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#endif
@@ -22,7 +22,7 @@
//
//
// $Id: PhysListEmG4v52.hh,v 1.1 2003/10/06 10:02:24 maire Exp $
// GEANT4 tag $Name: geant4-06-00-patch-01 $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -22,7 +22,7 @@
//
//
// $Id: PhysListEmStandard.hh,v 1.3 2003/10/24 12:06:36 maire Exp $
// GEANT4 tag $Name: geant4-06-00-patch-01 $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -22,7 +22,7 @@
//
//
// $Id: PhysicsList.hh,v 1.2 2004/06/09 15:29:43 maire Exp $
// GEANT4 tag $Name: geant4-06-02 $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//
@@ -20,12 +20,9 @@
// * statement, and all its terms. *
// ********************************************************************
//
// $Id: PhysicsListMessenger.hh,v 1.2 2004/09/15 13:17:18 maire Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
//
// $Id: PhysicsListMessenger.hh,v 1.1 2003/10/06 10:02:25 maire Exp $
// GEANT4 tag $Name: geant4-06-00-patch-01 $
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -36,6 +33,7 @@
#include "globals.hh"
class PhysicsList;
class G4UIdirectory;
class G4UIcmdWithADoubleAndUnit;
class G4UIcmdWithAString;
@@ -52,8 +50,9 @@ class PhysicsListMessenger: public G4UImessenger
private:
PhysicsList* pPhysicsList;
PhysicsList* pPhysicsList;
G4UIdirectory* physDir;
G4UIcmdWithADoubleAndUnit* gammaCutCmd;
G4UIcmdWithADoubleAndUnit* electCutCmd;
G4UIcmdWithADoubleAndUnit* protoCutCmd;
@@ -20,12 +20,9 @@
// * statement, and all its terms. *
// ********************************************************************
//
// $Id: PrimaryGeneratorAction.hh,v 1.2 2004/07/23 15:39:34 maire Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
//
// $Id: PrimaryGeneratorAction.hh,v 1.1 2003/10/06 10:02:25 maire Exp $
// GEANT4 tag $Name: geant4-06-00-patch-01 $
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -33,9 +30,9 @@
#define PrimaryGeneratorAction_h 1
#include "G4VUserPrimaryGeneratorAction.hh"
#include "G4ParticleGun.hh"
#include "globals.hh"
class G4ParticleGun;
class G4Event;
class DetectorConstruction;
class PrimaryGeneratorMessenger;
@@ -52,11 +49,13 @@ class PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction
void SetDefaultKinematic(G4int);
void SetRndmBeam(G4double val) {rndmBeam = val;}
void GeneratePrimaries(G4Event*);
G4ParticleGun* GetParticleGun() {return particleGun;}
private:
G4ParticleGun* particleGun;
G4ParticleGun* particleGun;
DetectorConstruction* Detector;
G4double rndmBeam;
G4double rndmBeam;
PrimaryGeneratorMessenger* gunMessenger;
};
@@ -20,12 +20,9 @@
// * statement, and all its terms. *
// ********************************************************************
//
// $Id: PrimaryGeneratorMessenger.hh,v 1.2 2004/09/15 13:17:18 maire Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
//
// $Id: PrimaryGeneratorMessenger.hh,v 1.1 2003/10/06 10:02:25 maire Exp $
// GEANT4 tag $Name: geant4-06-00-patch-01 $
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -36,6 +33,7 @@
#include "globals.hh"
class PrimaryGeneratorAction;
class G4UIdirectory;
class G4UIcmdWithAnInteger;
class G4UIcmdWithADouble;
@@ -50,7 +48,9 @@ class PrimaryGeneratorMessenger: public G4UImessenger
void SetNewValue(G4UIcommand*, G4String);
private:
PrimaryGeneratorAction* Action;
PrimaryGeneratorAction* Action;
G4UIdirectory* gunDir;
G4UIcmdWithAnInteger* DefaultCmd;
G4UIcmdWithADouble* RndmCmd;
};
@@ -22,7 +22,7 @@
//
//
// $Id: ProcessesCount.hh,v 1.9 2003/10/06 10:02:25 maire Exp $
// GEANT4 tag $Name: geant4-06-00-patch-01 $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -20,12 +20,9 @@
// * statement, and all its terms. *
// ********************************************************************
//
// $Id: RunAction.hh,v 1.6 2004/08/03 11:31:43 maire Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
//
// $Id: RunAction.hh,v 1.4 2004/03/31 11:34:58 maire Exp $
// GEANT4 tag $Name: geant4-06-02 $
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -39,51 +36,45 @@
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
class G4Run;
#ifdef USE_AIDA
namespace AIDA {
class ITree;
class IHistogram1D;
}
#endif
class DetectorConstruction;
class PrimaryGeneratorAction;
class HistoManager;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
class RunAction : public G4UserRunAction
{
public:
RunAction();
RunAction(DetectorConstruction*, PrimaryGeneratorAction*, HistoManager*);
~RunAction();
public:
void BeginOfRunAction(const G4Run*);
void EndOfRunAction(const G4Run*);
void AddEdep(G4double val) { edep += val;}
void CountTraks0(G4int nt) { NbOfTraks0 += nt;}
void CountTraks1(G4int nt) { NbOfTraks1 += nt;}
void CountSteps0(G4int ns) { NbOfSteps0 += ns;}
void CountSteps1(G4int ns) { NbOfSteps1 += ns;}
void CountProcesses(G4String);
#ifdef USE_AIDA
AIDA::IHistogram1D* GetHisto(G4int id) {return histo[id];}
#endif
private:
void bookHisto();
void cleanHisto();
void AddEdep(G4double val) { edep += val;}
void AddCsdaRange (G4double l) { csdaRange += l; csdaRange2 += l*l;};
void AddProjRange (G4double x) { projRange += x; projRange2 += x*x;};
void AddTransvDev (G4double y) { transvDev += y; transvDev2 += y*y;};
private:
G4int NbOfTraks0, NbOfTraks1;
G4int NbOfSteps0, NbOfSteps1;
G4double edep;
ProcessesCount* ProcCounter;
#ifdef USE_AIDA
AIDA::ITree* tree;
AIDA::IHistogram1D* histo[3];
#endif
G4int NbOfTraks0, NbOfTraks1;
G4int NbOfSteps0, NbOfSteps1;
G4double edep;
G4double csdaRange, csdaRange2;
G4double projRange, projRange2;
G4double transvDev, transvDev2;
DetectorConstruction* detector;
PrimaryGeneratorAction* primary;
ProcessesCount* ProcCounter;
HistoManager* histoManager;
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -20,12 +20,9 @@
// * statement, and all its terms. *
// ********************************************************************
//
// $Id: SteppingAction.hh,v 1.3 2004/07/23 15:39:34 maire Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
//
// $Id: SteppingAction.hh,v 1.2 2003/10/28 10:27:25 vnivanch Exp $
// GEANT4 tag $Name: geant4-06-00-patch-01 $
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -34,23 +31,24 @@
#include "G4UserSteppingAction.hh"
class EventAction;
class RunAction;
class EventAction;
class HistoManager;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
class SteppingAction : public G4UserSteppingAction
{
public:
SteppingAction(RunAction*,EventAction*);
~SteppingAction();
SteppingAction(RunAction*, EventAction*, HistoManager*);
~SteppingAction() {};
void UserSteppingAction(const G4Step*);
private:
RunAction* runAction;
EventAction* eventAction;
RunAction* runAction;
EventAction* eventAction;
HistoManager* histoManager;
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -22,7 +22,7 @@
//
//
// $Id: SteppingVerbose.hh,v 1.1 2003/10/06 10:02:25 maire Exp $
// GEANT4 tag $Name: geant4-06-00-patch-01 $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
//
// This class manages the verbose outputs in G4SteppingManager.
// It inherits from G4SteppingVerbose.
@@ -20,33 +20,36 @@
// * statement, and all its terms. *
// ********************************************************************
//
//
// $Id: TrackingAction.hh,v 1.2 2003/10/20 10:43:32 vnivanch Exp $
// GEANT4 tag $Name: geant4-06-00-patch-01 $
//
// $Id: TrackingAction.hh,v 1.3 2004/07/23 15:39:34 maire Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#ifndef TrackingAction_h
#define TrackingAction_h 1
#include "G4UserTrackingAction.hh"
class PrimaryGeneratorAction;
class RunAction;
class HistoManager;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
class TrackingAction : public G4UserTrackingAction {
public:
TrackingAction(RunAction*);
TrackingAction(PrimaryGeneratorAction*, RunAction*, HistoManager*);
~TrackingAction() {};
void PreUserTrackingAction(const G4Track*);
void PreUserTrackingAction(const G4Track*);
void PostUserTrackingAction(const G4Track*);
private:
RunAction* runAction;
PrimaryGeneratorAction* primary;
RunAction* runAction;
HistoManager* histoManager;
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -22,7 +22,7 @@
//
//
// $Id: VisManager.hh,v 1.1 2003/10/06 10:02:26 maire Exp $
// GEANT4 tag $Name: geant4-06-00-patch-01 $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
//
//