Import Geant4 6.2.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-09 10:56:29 +02:00
parent 1d812b78b1
commit e083ffb441
1415 changed files with 111223 additions and 21207 deletions
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: DetectorConstruction.hh,v 1.5 2004/01/16 14:14:08 vnivanch Exp $
// GEANT4 tag $Name: geant4-06-00-patch-01 $
// $Id: DetectorConstruction.hh,v 1.9 2004/06/09 14:18:45 maire Exp $
// GEANT4 tag $Name: geant4-06-02 $
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -40,7 +40,6 @@ class G4VPhysicalVolume;
class G4Material;
class G4UniformMagField;
class G4UserLimits;
class DetectorMessenger;
const G4int MaxAbsor = 10;
@@ -60,10 +59,10 @@ class DetectorConstruction : public G4VUserDetectorConstruction
void SetAbsorMaterial (G4int,G4String);
void SetAbsorThickness(G4int,G4double);
void SetWorldMaterial (G4String);
void SetWorldMaterial (G4String);
void SetCalorSizeYZ (G4double);
void SetNbOfLayers (G4int);
void SetMagField (G4double);
void SetMaxStepSize(G4double);
@@ -86,27 +85,27 @@ class DetectorConstruction : public G4VUserDetectorConstruction
G4int GetNbOfAbsor() {return NbOfAbsor;};
G4Material* GetAbsorMaterial(G4int i) {return AbsorMaterial[i];};
G4double GetAbsorThickness(G4int i) {return AbsorThickness[i];};
const G4VPhysicalVolume* GetphysiWorld() {return physiWorld;};
const G4Material* GetWorldMaterial() {return defaultMaterial;};
const G4VPhysicalVolume* GetAbsorber(G4int i) {return physiAbsor[i];};
private:
G4int NbOfAbsor;
G4int NbOfAbsor;
G4Material* AbsorMaterial [MaxAbsor];
G4double AbsorThickness[MaxAbsor];
G4int NbOfLayers;
G4double LayerThickness;
G4double CalorSizeYZ;
G4double CalorThickness;
G4Material* defaultMaterial;
G4double WorldSizeYZ;
G4double WorldSizeX;
G4Box* solidWorld;
G4LogicalVolume* logicWorld;
G4VPhysicalVolume* physiWorld;
@@ -114,25 +113,25 @@ class DetectorConstruction : public G4VUserDetectorConstruction
G4Box* solidCalor;
G4LogicalVolume* logicCalor;
G4VPhysicalVolume* physiCalor;
G4Box* solidLayer;
G4LogicalVolume* logicLayer;
G4VPhysicalVolume* physiLayer;
G4Box* solidAbsor[MaxAbsor];
G4LogicalVolume* logicAbsor[MaxAbsor];
G4VPhysicalVolume* physiAbsor[MaxAbsor];
G4UniformMagField* magField;
G4UserLimits* userLimits;
DetectorMessenger* detectorMessenger;
private:
void DefineMaterials();
void ComputeCalorParameters();
G4VPhysicalVolume* ConstructCalorimeter();
G4VPhysicalVolume* ConstructCalorimeter();
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: DetectorMessenger.hh,v 1.1 2003/09/22 14:06:39 maire Exp $
// GEANT4 tag $Name: geant4-06-00-patch-01 $
// $Id: DetectorMessenger.hh,v 1.5 2004/06/09 14:18:45 maire Exp $
// GEANT4 tag $Name: geant4-06-02 $
//
//
@@ -49,18 +49,18 @@ class DetectorMessenger: public G4UImessenger
public:
DetectorMessenger(DetectorConstruction* );
~DetectorMessenger();
void SetNewValue(G4UIcommand*, G4String);
private:
DetectorConstruction* Detector;
G4UIdirectory* testemDir;
G4UIcmdWithADoubleAndUnit* SizeYZCmd;
G4UIcmdWithAnInteger* NbLayersCmd;
G4UIcmdWithAnInteger* NbAbsorCmd;
G4UIcommand* AbsorCmd;
G4UIcommand* AbsorCmd;
G4UIcmdWithADoubleAndUnit* MagFieldCmd;
G4UIcmdWithADoubleAndUnit* MaxStepCmd;
G4UIcmdWithoutParameter* UpdateCmd;
@@ -21,45 +21,38 @@
// ********************************************************************
//
//
// $Id: PhysListParticles.hh,v 1.2 2003/10/06 10:09:23 maire Exp $
// GEANT4 tag $Name: geant4-06-00-patch-01 $
// $Id: EmAcceptance.hh,v 1.2 2004/06/09 14:18:45 maire Exp $
// GEANT4 tag $Name: geant4-06-02 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#ifndef PhysListParticles_h
#define PhysListParticles_h 1
#ifndef EmAcceptance_h
#define EmAcceptance_h 1
#include "G4VPhysicsConstructor.hh"
#include "globals.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
class PhysListParticles : public G4VPhysicsConstructor
class EmAcceptance
{
public:
PhysListParticles(const G4String& name = "particles");
~PhysListParticles();
public:
public:
// This method will be invoked in the Construct() method.
// each particle type will be instantiated
void ConstructParticle();
// This method is dummy.
void ConstructProcess() {};
EmAcceptance();
~EmAcceptance();
void BeginOfAcceptance(const G4String& title, G4int stat);
void EndOfAcceptance();
void EmAcceptanceGauss(const G4String& title, G4int stat,
G4double avr, G4double avr0,
G4double rms, G4double limit);
private:
G4bool isAccepted;
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#endif
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: EventAction.hh,v 1.3 2003/11/27 18:20:18 vnivanch Exp $
// GEANT4 tag $Name: geant4-06-00-patch-01 $
// $Id: EventAction.hh,v 1.7 2004/06/15 11:39:57 maire Exp $
// GEANT4 tag $Name: geant4-06-02 $
//
//
@@ -35,17 +35,17 @@
#include "G4UserEventAction.hh"
#include "globals.hh"
#include "DetectorConstruction.hh"
#include "G4DataVector.hh"
class RunAction;
class EventActionMessenger;
class HistoManager;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
class EventAction : public G4UserEventAction
{
public:
EventAction(DetectorConstruction*, RunAction*);
EventAction(DetectorConstruction*, RunAction*, HistoManager*);
~EventAction();
void BeginOfEventAction(const G4Event*);
@@ -63,12 +63,14 @@ class EventAction : public G4UserEventAction
DetectorConstruction* detector;
RunAction* runAct;
G4DataVector energyDeposit;
G4DataVector energyLeaving;
G4DataVector trackLengthCh;
G4String drawFlag; // draw the event
G4double energyDeposit[MaxAbsor];
G4double energyLeaving[MaxAbsor];
G4double trackLengthCh[MaxAbsor];
G4String drawFlag;
G4int printModulo;
EventActionMessenger* eventMessenger;
HistoManager* histoManager;
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -0,0 +1,101 @@
//
// ********************************************************************
// * 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/06/21 10:52:55 maire Exp $
// GEANT4 tag $Name: geant4-06-02 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#ifndef HistoManager_h
#define HistoManager_h 1
#ifdef G4ANALYSIS_USE
#include "globals.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#ifdef USE_AIDA
namespace AIDA {
class ITree;
class IHistogramFactory;
class IHistogram1D;
}
#endif
class HistoMessenger;
#include "DetectorConstruction.hh"
const G4int MaxHisto = MaxAbsor;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
class HistoManager
{
public:
HistoManager();
~HistoManager();
void SetFileName (G4String name) { fileName = name;};
void SetFactory ();
void SaveFactory ();
void SetHisto (G4int, G4int, G4double, G4double, G4String unit="none");
void RemoveHisto (G4int);
#ifdef USE_AIDA
AIDA::ITree* GetTree() {return tree;}
AIDA::IHistogramFactory* GetHistogramFactory() {return hf;}
AIDA::IHistogram1D* GetHisto(G4int id) {return histo[id];}
#endif
G4double GetHistoUnit(G4int id) {return Unit[id];}
G4double GetBinWidth (G4int id) {return Width[id];}
private:
G4String fileName;
#ifdef USE_AIDA
AIDA::ITree* tree;
AIDA::IHistogramFactory* hf;
AIDA::IHistogram1D* histo[MaxHisto];
#endif
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 //G4ANALYSIS_USE
#endif
@@ -20,46 +20,51 @@
// * statement, and all its terms. *
// ********************************************************************
//
//
// $Id: PhysListGeneral.hh,v 1.2 2003/10/06 10:09:23 maire Exp $
// GEANT4 tag $Name: geant4-06-00-patch-01 $
// $Id: HistoMessenger.hh,v 1.1 2004/06/15 11:39:57 maire Exp $
// GEANT4 tag $Name: geant4-06-02 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#ifndef PhysListGeneral_h
#define PhysListGeneral_h 1
#ifndef HistoMessenger_h
#define HistoMessenger_h 1
#include "G4VPhysicsConstructor.hh"
#ifdef G4ANALYSIS_USE
#include "G4UImessenger.hh"
#include "globals.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
class PhysListGeneral : public G4VPhysicsConstructor
class HistoManager;
class G4UIdirectory;
class G4UIcommand;
class G4UIcmdWithAString;
class G4UIcmdWithAnInteger;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
class HistoMessenger: public G4UImessenger
{
public:
PhysListGeneral(const G4String& name = "general");
~PhysListGeneral();
public:
public:
// This method is dummy for physics
void ConstructParticle() {};
HistoMessenger(HistoManager* );
~HistoMessenger();
void SetNewValue(G4UIcommand* ,G4String );
private:
HistoManager* histoManager;
G4UIdirectory* histoDir;
G4UIcmdWithAString* factoryCmd;
G4UIcommand* histoCmd;
G4UIcmdWithAnInteger* rmhistoCmd;
// This method will be invoked in the Construct() method.
// each physics process will be instantiated and
// registered to the process manager of each particle type
void ConstructProcess();
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#endif
#endif
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: PhysicsList.hh,v 1.2 2003/10/06 10:09:24 maire Exp $
// GEANT4 tag $Name: geant4-06-00-patch-01 $
// $Id: PhysicsList.hh,v 1.3 2004/04/28 17:40:42 maire Exp $
// GEANT4 tag $Name: geant4-06-02 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//
@@ -62,9 +62,8 @@ class PhysicsList: public G4VModularPhysicsList
G4double cutForElectron;
G4double cutForPositron;
G4double currentDefaultCut;
G4VPhysicsConstructor* emPhysicsList;
G4VPhysicsConstructor* generalPhysicsList;
G4VPhysicsConstructor* particleList;
G4String emName;
PhysicsListMessenger* pMessenger;
@@ -20,12 +20,9 @@
// * statement, and all its terms. *
// ********************************************************************
//
// $Id: RunAction.hh,v 1.13 2004/06/15 11:39:57 maire Exp $
// GEANT4 tag $Name: geant4-06-02 $
//
// $Id: RunAction.hh,v 1.8 2004/01/21 17:29:26 maire Exp $
// GEANT4 tag $Name: geant4-06-00-patch-01 $
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -35,64 +32,53 @@
#include "DetectorConstruction.hh"
#include "G4UserRunAction.hh"
#include "G4ThreeVector.hh"
#include "globals.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
class G4Run;
class PrimaryGeneratorAction;
class RunActionMessenger;
class HistoManager;
#ifdef G4ANALYSIS_USE
namespace AIDA {
class ITree;
class IHistogramFactory;
class IHistogram1D;
}
#endif
class G4Run;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
class RunAction : public G4UserRunAction
{
public:
RunAction(DetectorConstruction*);
RunAction(DetectorConstruction*, PrimaryGeneratorAction*, HistoManager*);
~RunAction();
void BeginOfRunAction(const G4Run*);
void EndOfRunAction(const G4Run*);
void fillPerEvent(G4int,G4double,G4double,G4double);
#ifdef G4ANALYSIS_USE
AIDA::IHistogram1D* GetHisto(G4int id) {return histo[id];}
G4double GetHistoUnit(G4int id) {return histoUnit[id];}
#endif
void SetFileName(const G4String& s) {fileName = s;};
void SetHisto (G4int, G4int, G4double, G4double, G4String);
void PrintDedxTables();
// Acceptance parameters
void SetEdepAndRMS(G4int, G4ThreeVector);
G4double GetAverageEdep(G4int i) const {return edeptrue[i];};
G4double GetRMSEdep(G4int i) const {return rmstrue[i];};
G4double GetLimitEdep(G4int i) const {return limittrue[i];};
private:
G4double sumEAbs [MaxAbsor], sum2EAbs [MaxAbsor];
G4double sumLAbs [MaxAbsor], sum2LAbs [MaxAbsor];
G4double sumEleav[MaxAbsor], sum2Eleav[MaxAbsor];
DetectorConstruction* Detector;
RunActionMessenger* runMessenger;
G4String fileName;
G4String hid [MaxAbsor], htitle[MaxAbsor];
G4int hbins[MaxAbsor];
G4double hmin [MaxAbsor], hmax [MaxAbsor];
G4double histoUnit[MaxAbsor];
#ifdef G4ANALYSIS_USE
AIDA::ITree* tree;
AIDA::IHistogramFactory* hf;
AIDA::IHistogram1D* histo[MaxAbsor];
#endif
DetectorConstruction* Detector;
PrimaryGeneratorAction* Primary;
RunActionMessenger* runMessenger;
HistoManager* histoManager;
G4double edeptrue [MaxAbsor];
G4double rmstrue [MaxAbsor];
G4double limittrue[MaxAbsor];
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -20,12 +20,9 @@
// * statement, and all its terms. *
// ********************************************************************
//
// $Id: RunActionMessenger.hh,v 1.7 2004/06/15 11:39:58 maire Exp $
// GEANT4 tag $Name: geant4-06-02 $
//
// $Id: RunActionMessenger.hh,v 1.3 2004/01/21 17:29:26 maire Exp $
// GEANT4 tag $Name: geant4-06-00-patch-01 $
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -36,8 +33,7 @@
#include "G4UImessenger.hh"
class RunAction;
class G4UIcommand;
class G4UIcmdWithAString;
class G4UIcmdWith3Vector;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -51,8 +47,8 @@ class RunActionMessenger: public G4UImessenger
private:
RunAction* Run;
G4UIcmdWithAString* fileCmd;
G4UIcommand* HistoCmd;
G4UIcmdWith3Vector* accCmd1;
G4UIcmdWith3Vector* accCmd2;
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: SteppingAction.hh,v 1.2 2003/11/27 18:20:18 vnivanch Exp $
// GEANT4 tag $Name: geant4-06-00-patch-01 $
// $Id: SteppingAction.hh,v 1.3 2004/03/16 18:25:29 maire Exp $
// GEANT4 tag $Name: geant4-06-02 $
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -43,9 +43,9 @@ class SteppingAction : public G4UserSteppingAction
{
public:
SteppingAction(DetectorConstruction*, EventAction*);
virtual ~SteppingAction();
~SteppingAction();
virtual void UserSteppingAction(const G4Step*);
void UserSteppingAction(const G4Step*);
G4double BirkAttenuation(const G4Step*);
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: SteppingVerbose.hh,v 1.2 2003/11/27 18:20:18 vnivanch Exp $
// GEANT4 tag $Name: geant4-06-00-patch-01 $
// $Id: SteppingVerbose.hh,v 1.3 2004/03/16 18:27:18 maire Exp $
// GEANT4 tag $Name: geant4-06-02 $
//
// This class manages the verbose outputs in G4SteppingManager.
// It inherits from G4SteppingVerbose.
@@ -43,7 +43,7 @@ class SteppingVerbose : public G4SteppingVerbose
public:
SteppingVerbose();
~SteppingVerbose();
~SteppingVerbose();
void StepInfo();
void TrackingStarted();