Import Geant4 9.6.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-09 17:01:34 +02:00
parent b1eb5424d2
commit e2d2f9810a
10384 changed files with 698580 additions and 628834 deletions
@@ -23,9 +23,10 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file electromagnetic/TestEm9/include/DetectorConstruction.hh
/// \brief Definition of the DetectorConstruction class
//
// $Id: DetectorConstruction.hh,v 1.7 2008-04-07 18:09:05 vnivanch Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
//
/////////////////////////////////////////////////////////////////////////
@@ -67,7 +68,7 @@ public:
DetectorConstruction();
virtual ~DetectorConstruction();
public:
virtual G4VPhysicalVolume* Construct();
void SetEcalMaterial(const G4String&);
void SetAbsMaterial(const G4String&);
@@ -78,11 +79,9 @@ public:
void SetPadWidth(G4double val);
void SetAbsLength(G4double val);
G4VPhysicalVolume* Construct();
void UpdateGeometry();
G4double GetWorldSizeZ() {return worldZ;}
inline G4double GetWorldSizeZ() {return fWorldZ;}
private:
@@ -92,39 +91,34 @@ private:
DetectorConstruction & operator=(const DetectorConstruction &right);
DetectorConstruction(const DetectorConstruction&);
G4double ecalLength;
G4double ecalWidth;
G4double vertexLength;
G4double padLength;
G4double padWidth;
G4double absLength;
G4double worldZ;
G4double fEcalLength;
G4double fEcalWidth;
G4double fVertexLength;
G4double fPadLength;
G4double fPadWidth;
G4double fAbsLength;
G4double fWorldZ;
G4Material* calMaterial;
G4Material* vertMaterial;
G4Material* absMaterial;
G4Material* worldMaterial;
G4Material* yorkMaterial;
G4Material* fCalMaterial;
G4Material* fVertMaterial;
G4Material* fAbsMaterial;
G4Material* fWorldMaterial;
G4Material* fYorkMaterial;
G4LogicalVolume* logicWorld;
G4LogicalVolume* logicECal;
G4LogicalVolume* logicCal;
G4LogicalVolume* logicA1;
G4LogicalVolume* logicA2;
G4LogicalVolume* logicA3;
G4LogicalVolume* logicA4;
G4LogicalVolume* logicYV;
G4LogicalVolume* logicY;
G4LogicalVolume* logicVV;
G4LogicalVolume* logicVD;
G4LogicalVolume* logicV;
G4LogicalVolume* fLogicWorld;
G4LogicalVolume* fLogicCal;
G4LogicalVolume* fLogicA1;
G4LogicalVolume* fLogicA2;
G4LogicalVolume* fLogicA3;
G4LogicalVolume* fLogicA4;
G4Region* fVertexRegion;
G4Region* fMuonRegion;
G4Region* vertexRegion;
G4Region* muonRegion;
G4ProductionCuts* vertexDetectorCuts;
G4ProductionCuts* muonDetectorCuts;
G4ProductionCuts* fVertexDetectorCuts;
G4ProductionCuts* fMuonDetectorCuts;
DetectorMessenger* detectorMessenger; //pointer to the Messenger
DetectorMessenger* fDetectorMessenger; //pointer to the Messenger
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....
@@ -23,9 +23,10 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file electromagnetic/TestEm9/include/DetectorMessenger.hh
/// \brief Definition of the DetectorMessenger class
//
// $Id: DetectorMessenger.hh,v 1.4 2006-06-29 17:00:58 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
//
/////////////////////////////////////////////////////////////////////////
@@ -60,27 +61,28 @@ class G4UIcmdWithoutParameter;
class DetectorMessenger: public G4UImessenger
{
public:
DetectorMessenger(DetectorConstruction* );
~DetectorMessenger();
void SetNewValue(G4UIcommand*, G4String);
DetectorMessenger(DetectorConstruction* );
virtual ~DetectorMessenger();
virtual void SetNewValue(G4UIcommand*, G4String);
private:
DetectorConstruction* Detector;
DetectorConstruction* fDetector;
G4UIdirectory* testemDir;
G4UIcmdWithAString* MaterCmd;
G4UIcmdWithAString* LBinCmd;
G4UIcmdWithADoubleAndUnit* l1Cmd;
G4UIcmdWithADoubleAndUnit* l2Cmd;
G4UIcmdWithADoubleAndUnit* l3Cmd;
G4UIcmdWithADoubleAndUnit* l4Cmd;
G4UIcmdWithADoubleAndUnit* l5Cmd;
G4UIcmdWithADoubleAndUnit* l6Cmd;
G4UIcmdWithoutParameter* UpdateCmd;
G4UIcmdWith3Vector* accCmd1;
G4UIcmdWith3Vector* accCmd2;
G4UIcmdWith3Vector* accCmd3;
G4UIdirectory* fAtestemDir;
G4UIcmdWithAString* fAMaterCmd;
G4UIcmdWithAString* fALBinCmd;
G4UIcmdWithADoubleAndUnit* fAl1Cmd;
G4UIcmdWithADoubleAndUnit* fAl2Cmd;
G4UIcmdWithADoubleAndUnit* fAl3Cmd;
G4UIcmdWithADoubleAndUnit* fAl4Cmd;
G4UIcmdWithADoubleAndUnit* fAl5Cmd;
G4UIcmdWithADoubleAndUnit* fAl6Cmd;
G4UIcmdWithoutParameter* fAUpdateCmd;
G4UIcmdWith3Vector* fAaccCmd1;
G4UIcmdWith3Vector* fAaccCmd2;
G4UIcmdWith3Vector* fAaccCmd3;
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -23,9 +23,10 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file electromagnetic/TestEm9/include/EmAcceptance.hh
/// \brief Definition of the EmAcceptance class
//
// $Id: EmAcceptance.hh,v 1.2 2006-06-29 17:01:00 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
//
@@ -40,6 +41,7 @@ class EmAcceptance
{
public:
EmAcceptance();
~EmAcceptance();
@@ -48,7 +50,7 @@ public:
void EmAcceptanceGauss(const G4String& title, G4int stat,
G4double avr, G4double avr0,
G4double rms, G4double limit);
G4double rms, G4double limit);
private:
@@ -56,7 +58,7 @@ private:
EmAcceptance & operator=(const EmAcceptance &right);
EmAcceptance(const EmAcceptance&);
G4bool isAccepted;
G4bool fIsAccepted;
};
@@ -23,17 +23,18 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file electromagnetic/TestEm9/include/EventAction.hh
/// \brief Definition of the EventAction class
//
#ifndef EventAction_h
#define EventAction_h 1
// $Id: EventAction.hh,v 1.3 2006-06-29 17:01:02 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
#include "G4UserEventAction.hh"
#include "G4Event.hh"
#include "globals.hh"
@@ -43,25 +44,23 @@ class EventActionMessenger;
class EventAction : public G4UserEventAction
{
public: // Without description
public:
EventAction();
~EventAction();
EventAction();
void BeginOfEventAction(const G4Event*);
void EndOfEventAction(const G4Event*);
virtual ~EventAction();
void SetDrawFlag(G4String val) {drawFlag = val;};
void SetPrintModulo(G4int val) {printModulo = val;};
virtual void BeginOfEventAction(const G4Event*);
virtual void EndOfEventAction(const G4Event*);
private:
inline void SetPrintModulo(G4int val) { fPrintModulo = val;};
G4int nEvt;
G4int printModulo;
G4int verbose;
G4String drawFlag;
private:
EventActionMessenger* eventMessenger;
G4int fPrintModulo;
G4int fVerbose;
EventActionMessenger* fEventMessenger;
};
#endif
@@ -23,8 +23,10 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: EventActionMessenger.hh,v 1.3 2006-06-29 17:01:04 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
/// \file electromagnetic/TestEm9/include/EventActionMessenger.hh
/// \brief Definition of the EventActionMessenger class
//
// $Id$
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -36,7 +38,6 @@
#include "G4UImessenger.hh"
class EventAction;
class G4UIcmdWithAString;
class G4UIcmdWithAnInteger;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -45,15 +46,15 @@ class EventActionMessenger: public G4UImessenger
{
public:
EventActionMessenger(EventAction*);
~EventActionMessenger();
virtual ~EventActionMessenger();
void SetNewValue(G4UIcommand*, G4String);
virtual void SetNewValue(G4UIcommand*, G4String);
private:
EventAction* eventAction;
G4UIcmdWithAString* DrawCmd;
G4UIcmdWithAnInteger* PrintCmd;
EventAction* fEventAction;
G4UIcmdWithAnInteger* fPrintCmd;
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -23,8 +23,10 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: Histo.hh,v 1.5 2007-05-24 13:17:41 vnivanch Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
/// \file electromagnetic/TestEm9/include/Histo.hh
/// \brief Definition of the Histo class
//
// $Id$
#ifndef Histo_h
#define Histo_h 1
@@ -43,86 +45,98 @@
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
#include "globals.hh"
#include <vector>
#include "G4DynamicParticle.hh"
#include "G4VPhysicalVolume.hh"
#include "G4DataVector.hh"
#include "G4Track.hh"
#include <vector>
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
class G4RootAnalysisManager;
class HistoMessenger;
namespace AIDA {
class ITree;
class ITuple;
class IHistogram1D;
class IAnalysisFactory;
}
class Histo
{
public:
Histo();
~Histo();
void book();
// Book predefined histogramms
void Book();
void save();
// Save histogramms to file
void Save();
void add1D(const G4String&, const G4String&, G4int nb=100, G4double x1=0.,
G4double x2=1., G4double u=1.);
// In this method histogramms are predefined
// In this method 1-D histogramms are predefined
void Add1D(const G4String&, const G4String&, G4int nb, G4double x1,
G4double x2, G4double u=1.);
void setHisto1D(G4int, G4int, G4double, G4double, G4double);
// It change bins and boundaries
void SetHisto1D(G4int, G4int, G4double, G4double, G4double);
// Histogram activation/deactivation
void Activate(G4int, G4bool);
void fill(G4int, G4double, G4double);
// Histogramms are filled
void Fill(G4int, G4double, G4double);
void scale(G4int, G4double);
// Histogramms are scaled
void ScaleH1(G4int, G4double);
void addTuple(const G4String&, const G4String&, const G4String&);
// In this method nTuple is booked
void AddTuple(const G4String&);
// In this method nTuple is booked
void AddTupleI(const G4String&);
void AddTupleF(const G4String&);
void AddTupleD(const G4String&);
void fillTuple(const G4String&, G4double);
// Fill nTuple parameter
void FillTupleI(G4int, G4int);
void FillTupleF(G4int, G4float);
void FillTupleD(G4int, G4double);
void addRow();
// Save tuple event
void AddRow();
void setFileName(const G4String&);
// Set output file
void SetFileName(const G4String&);
void SetFileType(const G4String&);
void setFileType(const G4String&);
inline void SetVerbose(G4int val) { fVerbose = val; };
inline G4bool IsActive() const { return fHistoActive; };
private:
G4String histName;
G4String histType;
G4String tupleName;
G4String tupleId;
G4String tupleList;
G4int nHisto;
G4int verbose;
G4int defaultAct;
std::vector<AIDA::IHistogram1D*> histo;
AIDA::IAnalysisFactory* af;
AIDA::ITuple* ntup;
AIDA::ITree* tree;
HistoMessenger* messenger;
std::vector<G4int> active;
std::vector<G4int> bins;
std::vector<G4double> xmin;
std::vector<G4double> xmax;
std::vector<G4double> unit;
std::vector<G4String> ids;
std::vector<G4String> titles;
G4RootAnalysisManager* fManager;
HistoMessenger* fMessenger;
G4String fHistName;
G4String fHistType;
G4String fTupleName;
G4String fTupleTitle;
G4int fNHisto;
G4int fVerbose;
G4bool fDefaultAct;
G4bool fHistoActive;
G4bool fNtupleActive;
std::vector<G4int> fHisto;
std::vector<G4int> fTupleI;
std::vector<G4int> fTupleF;
std::vector<G4int> fTupleD;
std::vector<G4int> fBins;
std::vector<G4bool> fActive;
std::vector<G4double> fXmin;
std::vector<G4double> fXmax;
std::vector<G4double> fUnit;
std::vector<G4String> fIds;
std::vector<G4String> fTitles;
std::vector<G4String> fNtupleI;
std::vector<G4String> fNtupleF;
std::vector<G4String> fNtupleD;
};
#endif
@@ -23,8 +23,10 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: HistoManager.hh,v 1.13 2011-01-06 15:56:39 vnivanch Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
/// \file electromagnetic/TestEm9/include/HistoManager.hh
/// \brief Definition of the HistoManager class
//
// $Id$
#ifndef HistoManager_h
#define HistoManager_h 1
@@ -88,82 +90,77 @@ public: // Without description
void AddDeltaElectron(const G4DynamicParticle*);
void AddPhoton(const G4DynamicParticle*);
G4double GetTrackLength() const {return trackLength;};
void ResetTrackLength() {trackLength = 0.0, trackAbs = true;};
void SetTrackOutAbsorber() {trackAbs = false;};
G4bool GetTrackInAbsorber() const {return trackAbs;};
void AddTrackLength(G4double x) {trackLength += x;};
void AddPositron(const G4DynamicParticle*) {n_posit++;};
void SetVerbose(G4int val) {verbose = val;};
G4int GetVerbose() const {return verbose;};
void SetHistoNumber(G4int val) {nHisto = val;};
void SetNtuple(G4bool val) {nTuple = val;};
inline void ResetTrackLength() {fTrackLength = 0.0, fTrackAbs = true;};
inline void AddPositron(const G4DynamicParticle*) {++fPosit;};
inline void SetVerbose(G4int val) {fVerbose = val;};
inline G4int GetVerbose() const {return fVerbose;};
inline void SetHistoNumber(G4int val) {fNHisto = val;};
void SetFirstEventToDebug(G4int val) {nEvt1 = val;};
G4int FirstEventToDebug() const {return nEvt1;};
void SetLastEventToDebug(G4int val) {nEvt2 = val;};
G4int LastEventToDebug() const {return nEvt2;};
inline void SetFirstEventToDebug(G4int val) {fEvt1 = val;};
inline G4int FirstEventToDebug() const {return fEvt1;};
inline void SetLastEventToDebug(G4int val) {fEvt2 = val;};
inline G4int LastEventToDebug() const {return fEvt2;};
void SetMaxEnergy(G4double val) {maxEnergy = val;};
G4double GetMaxEnergy() const {return maxEnergy;};
void SetThresholdEnergy(G4double val) {thKinE = val;};
void SetThresholdZ(G4double val) {thPosZ = val;};
void AddStep() {n_step += 1.0;};
inline void SetMaxEnergy(G4double val) {fMaxEnergy = val;};
inline G4double GetMaxEnergy() const {return fMaxEnergy;};
inline void AddStep() {fStep += 1.0;};
// Acceptance parameters
inline void SetBeamEnergy(G4double val) {fBeamEnergy = val;};
void SetEdepAndRMS(G4int, G4ThreeVector);
void SetBeamEnergy(G4double val) {beamEnergy = val;};
private:
// MEMBERS
static HistoManager* fManager;
G4int nHisto;
G4int verbose;
G4int nEvt1;
G4int nEvt2;
const G4ParticleDefinition* fGamma;
const G4ParticleDefinition* fElectron;
const G4ParticleDefinition* fPositron;
G4double beamEnergy;
G4double maxEnergy;
G4double maxEnergyAbs;
G4double thKinE;
G4double thPosZ;
G4int fNHisto;
G4int fVerbose;
G4int fEvt1;
G4int fEvt2;
G4double trackLength;
G4double n_step;
G4double n_step_target;
G4bool trackAbs; // Track is in absorber
G4int n_evt;
G4int n_elec;
G4int n_posit;
G4int n_gam;
G4int n_gamph;
G4int n_gam_tar;
G4int n_lowe;
G4int nBinsE, nBinsEA, nBinsED;
G4bool nTuple;
G4double fBeamEnergy;
G4double fMaxEnergy;
G4double fMaxEnergyAbs;
G4double Eabs1, Eabs2, Eabs3, Eabs4;
G4double E[25];
G4DataVector Evertex;
G4DataVector Nvertex;
G4DataVector brem;
G4DataVector phot;
G4DataVector comp;
G4DataVector conv;
G4double fTrackLength;
G4double fStep;
G4double fStepTarget;
G4bool fTrackAbs; // Track is in absorber
G4int fEvt;
G4int fElec;
G4int fPosit;
G4int fGam;
G4int fGamph;
G4int fGamTar;
G4int fLowe;
G4int fBinsE, fBinsEA, fBinsED;
G4double edeptrue[3];
G4double rmstrue[3];
G4double limittrue[3];
G4double edep[6];
G4double erms[6];
G4double edeptr[6];
G4double ermstr[6];
G4int stat[6];
G4int nmax;
G4double fEabs1, fEabs2, fEabs3, fEabs4;
G4double fE[25];
G4DataVector fEvertex;
G4DataVector fNvertex;
G4DataVector fBrem;
G4DataVector fPhot;
G4DataVector fComp;
G4DataVector fConv;
Histo* histo;
G4double fEdeptrue[3];
G4double fRmstrue[3];
G4double fLimittrue[3];
G4double fEdep[6];
G4double fErms[6];
G4double fEdeptr[6];
G4double fErmstr[6];
G4int fStat[6];
G4int fNmax;
Histo* fHisto;
@@ -23,10 +23,10 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file electromagnetic/TestEm9/include/HistoMessenger.hh
/// \brief Definition of the HistoMessenger class
//
// $Id: HistoMessenger.hh,v 1.3 2006-06-29 17:01:11 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
//
@@ -50,21 +50,21 @@ class G4UIcmdWithAString;
class HistoMessenger: public G4UImessenger
{
public:
public:
HistoMessenger(Histo* );
~HistoMessenger();
HistoMessenger(Histo* );
virtual ~HistoMessenger();
void SetNewValue(G4UIcommand* ,G4String );
virtual void SetNewValue(G4UIcommand* ,G4String );
private:
private:
Histo* histo;
Histo* fHisto;
G4UIdirectory* histoDir;
G4UIcmdWithAString* factoryCmd;
G4UIcmdWithAString* fileCmd;
G4UIcommand* histoCmd;
G4UIdirectory* fHistoDir;
G4UIcmdWithAString* fFactoryCmd;
G4UIcmdWithAString* fFileCmd;
G4UIcommand* fHistoCmd;
};
@@ -23,9 +23,10 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file electromagnetic/TestEm9/include/PhysListEmStandard.hh
/// \brief Definition of the PhysListEmStandard class
//
// $Id: PhysListEmStandard.hh,v 1.5 2009-11-20 20:25:40 vnivanch Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -41,10 +42,10 @@
class PhysListEmStandard : public G4VPhysicsConstructor
{
public:
PhysListEmStandard(const G4String& name = "standard");
virtual ~PhysListEmStandard();
public:
// This method is dummy for physics
virtual void ConstructParticle() {};
@@ -23,8 +23,10 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: PhysicsList.hh,v 1.7 2008-04-07 18:09:05 vnivanch Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
/// \file electromagnetic/TestEm9/include/PhysicsList.hh
/// \brief Definition of the PhysicsList class
//
// $Id$
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//
@@ -62,18 +64,18 @@ public:
PhysicsList();
virtual ~PhysicsList();
void ConstructParticle();
virtual void ConstructParticle();
void SetCuts();
void SetCutForGamma(G4double);
void SetCutForElectron(G4double);
void SetCutForPositron(G4double);
virtual void ConstructProcess();
virtual void SetCuts();
void AddPhysicsList(const G4String& name);
void ConstructProcess();
void AddStepMax();
StepMax* GetStepMaxProcess() {return stepMaxProcess;};
void SetCutForGamma(G4double);
void SetCutForElectron(G4double);
void SetCutForProton(G4double);
void SetVertexCut(G4double val);
void SetMuonCut(G4double val);
@@ -84,28 +86,29 @@ private:
PhysicsList & operator=(const PhysicsList &right);
PhysicsList(const PhysicsList&);
G4double cutForGamma;
G4double cutForElectron;
G4double cutForPositron;
G4double cutForVertexDetector;
G4double cutForMuonDetector;
G4double fCutForGamma;
G4double fCutForElectron;
G4double fCutForPositron;
G4double fCutForProton;
G4double fCutForVertexDetector;
G4double fCutForMuonDetector;
G4VPhysicsConstructor* emPhysicsList;
G4VPhysicsConstructor* generalPhysicsList;
G4VPhysicsConstructor* fEmPhysicsList;
G4VPhysicsConstructor* fDecayPhysicsList;
std::vector<G4VPhysicsConstructor*> hadronPhys;
G4String emName;
std::vector<G4VPhysicsConstructor*> fHadronPhys;
G4String fEmName;
StepMax* stepMaxProcess;
StepMax* fStepMaxProcess;
PhysicsListMessenger* pMessenger;
G4ProductionCuts* vertexDetectorCuts;
G4ProductionCuts* muonDetectorCuts;
PhysicsListMessenger* fMessenger;
G4ProductionCuts* fVertexDetectorCuts;
G4ProductionCuts* fMuonDetectorCuts;
G4bool helIsRegisted;
G4bool bicIsRegisted;
G4bool gnucIsRegisted;
G4bool stopIsRegisted;
G4bool fHelIsRegisted;
G4bool fBicIsRegisted;
G4bool fGnucIsRegisted;
G4bool fStopIsRegisted;
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -23,9 +23,10 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file electromagnetic/TestEm9/include/PhysicsListMessenger.hh
/// \brief Definition of the PhysicsListMessenger class
//
// $Id: PhysicsListMessenger.hh,v 1.4 2006-06-29 17:02:32 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
//
@@ -50,22 +51,21 @@ class PhysicsListMessenger: public G4UImessenger
public:
PhysicsListMessenger(PhysicsList* );
~PhysicsListMessenger();
virtual ~PhysicsListMessenger();
void SetNewValue(G4UIcommand*, G4String);
virtual void SetNewValue(G4UIcommand*, G4String);
private:
PhysicsList* pPhysicsList;
PhysicsList* fPhysicsList;
G4UIcmdWithADoubleAndUnit* gammaCutCmd;
G4UIcmdWithADoubleAndUnit* electCutCmd;
G4UIcmdWithADoubleAndUnit* protoCutCmd;
G4UIcmdWithADoubleAndUnit* allCutCmd;
G4UIcmdWithADoubleAndUnit* mCutCmd;
G4UIcmdWithADoubleAndUnit* eCutCmd;
G4UIcmdWithAString* pListCmd;
G4UIcmdWithABool* mscCmd;
G4UIcmdWithADoubleAndUnit* fGammaCutCmd;
G4UIcmdWithADoubleAndUnit* fElectCutCmd;
G4UIcmdWithADoubleAndUnit* fProtoCutCmd;
G4UIcmdWithADoubleAndUnit* fAllCutCmd;
G4UIcmdWithADoubleAndUnit* fMCutCmd;
G4UIcmdWithADoubleAndUnit* fECutCmd;
G4UIcmdWithAString* fListCmd;
};
@@ -23,9 +23,10 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file electromagnetic/TestEm9/include/PrimaryGeneratorAction.hh
/// \brief Definition of the PrimaryGeneratorAction class
//
// $Id: PrimaryGeneratorAction.hh,v 1.3 2006-06-29 17:02:35 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
//
/////////////////////////////////////////////////////////////////////////
@@ -58,19 +59,17 @@ class PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction
{
public:
PrimaryGeneratorAction(DetectorConstruction*);
~PrimaryGeneratorAction();
virtual ~PrimaryGeneratorAction();
public:
void GeneratePrimaries(G4Event*);
G4ParticleGun* GetParticleGun() {return particleGun;};
virtual void GeneratePrimaries(G4Event*);
private:
PrimaryGeneratorAction & operator=(const PrimaryGeneratorAction &right);
PrimaryGeneratorAction(const PrimaryGeneratorAction&);
G4ParticleGun* particleGun;
DetectorConstruction* detector;
G4ParticleGun* fParticleGun;
DetectorConstruction* fDetector;
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -23,6 +23,9 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file electromagnetic/TestEm9/include/RunAction.hh
/// \brief Definition of the RunAction class
//
#ifndef RunAction_h
#define RunAction_h 1
@@ -47,14 +50,14 @@ class RunAction : public G4UserRunAction
public: // Without description
RunAction();
~RunAction();
virtual ~RunAction();
public: // With description
void BeginOfRunAction(const G4Run*);
virtual void BeginOfRunAction(const G4Run*);
// In this method histogramms are booked
void EndOfRunAction(const G4Run*);
virtual void EndOfRunAction(const G4Run*);
// In this method bookHisto method is called in which histogramms are filled
};
@@ -23,8 +23,10 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: StepMax.hh,v 1.3 2006-06-29 17:02:40 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
/// \file electromagnetic/TestEm9/include/StepMax.hh
/// \brief Definition of the StepMax class
//
// $Id$
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -46,32 +48,30 @@ class StepMax : public G4VDiscreteProcess
public:
StepMax(const G4String& processName = "UserMaxStep");
~StepMax();
G4bool IsApplicable(const G4ParticleDefinition&);
virtual ~StepMax();
void SetMaxStep(G4double);
G4double GetMaxStep() {return MaxChargedStep;};
inline G4double GetMaxStep() { return fMaxChargedStep; };
G4double PostStepGetPhysicalInteractionLength( const G4Track& track,
G4double previousStepSize,
G4ForceCondition* condition);
virtual G4bool IsApplicable(const G4ParticleDefinition&);
G4VParticleChange* PostStepDoIt(const G4Track&, const G4Step&);
virtual G4double
PostStepGetPhysicalInteractionLength(const G4Track& track,
G4double previousStepSize,
G4ForceCondition* condition);
G4double GetMeanFreePath(const G4Track&, G4double, G4ForceCondition*)
{return 0.;}; // it is not needed here !
virtual G4VParticleChange* PostStepDoIt(const G4Track&, const G4Step&);
virtual G4double
GetMeanFreePath(const G4Track&, G4double, G4ForceCondition*);
private:
StepMax & operator=(const StepMax &right);
StepMax(const StepMax&);
G4double fMaxChargedStep;
G4double fProposedStep;
G4double MaxChargedStep;
G4double ProposedStep;
StepMaxMessenger* pMess;
StepMaxMessenger* fMessenger;
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -23,8 +23,10 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: StepMaxMessenger.hh,v 1.3 2006-06-29 17:02:42 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
/// \file electromagnetic/TestEm9/include/StepMaxMessenger.hh
/// \brief Definition of the StepMaxMessenger class
//
// $Id$
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -43,14 +45,15 @@ class G4UIcmdWithADoubleAndUnit;
class StepMaxMessenger: public G4UImessenger
{
public:
StepMaxMessenger(StepMax*);
~StepMaxMessenger();
virtual ~StepMaxMessenger();
void SetNewValue(G4UIcommand*, G4String);
virtual void SetNewValue(G4UIcommand*, G4String);
private:
StepMax* stepMax;
G4UIcmdWithADoubleAndUnit* StepMaxCmd;
StepMax* fStepMax;
G4UIcmdWithADoubleAndUnit* fStepMaxCmd;
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -23,9 +23,10 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file electromagnetic/TestEm9/include/SteppingAction.hh
/// \brief Definition of the SteppingAction class
//
// $Id: SteppingAction.hh,v 1.3 2006-06-29 17:02:44 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
//
/////////////////////////////////////////////////////////////////////////
@@ -55,16 +56,16 @@ class SteppingAction : public G4UserSteppingAction
{
public:
SteppingAction();
~SteppingAction();
virtual ~SteppingAction();
void UserSteppingAction(const G4Step*);
virtual void UserSteppingAction(const G4Step*);
private:
SteppingAction & operator=(const SteppingAction &right);
SteppingAction(const SteppingAction&);
HistoManager* theHisto;
HistoManager* fHisto;
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -23,6 +23,9 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file electromagnetic/TestEm9/include/TrackingAction.hh
/// \brief Definition of the TrackingAction class
//
#ifndef TrackingAction_h
#define TrackingAction_h 1
@@ -53,17 +56,17 @@ class TrackingAction : public G4UserTrackingAction
public:
TrackingAction();
~TrackingAction();
virtual ~TrackingAction();
void PreUserTrackingAction(const G4Track*);
void PostUserTrackingAction(const G4Track*) {};
virtual void PreUserTrackingAction(const G4Track*);
virtual void PostUserTrackingAction(const G4Track*);
private:
TrackingAction & operator=(const TrackingAction &right);
TrackingAction(const TrackingAction&);
HistoManager* theHisto;
HistoManager* fHisto;
};