Import Geant4 9.6.0 source tree
This commit is contained in:
@@ -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;
|
||||
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user