Import Geant4 9.6.0 source tree
This commit is contained in:
@@ -23,22 +23,28 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4AdjointPhysicsList.hh,v 1.1 2009-11-19 22:41:18 ldesorgh Exp $
|
||||
// GEANT4 tag $Name: not supported by cvs2svn $
|
||||
/// \file biasing/ReverseMC01/include/G4AdjointPhysicsList.hh
|
||||
/// \brief Definition of the G4AdjointPhysicsList class
|
||||
//
|
||||
// $Id$
|
||||
//
|
||||
//////////////////////////////////////////////////////////////
|
||||
// Class Name: G4AdjointPhysicsList
|
||||
// Author: L. Desorgher
|
||||
// Organisation: SpaceIT GmbH
|
||||
// Contract: ESA contract 21435/08/NL/AT
|
||||
// Customer: ESA/ESTEC
|
||||
// Class Name: G4AdjointPhysicsList
|
||||
// Author: L. Desorgher
|
||||
// Organisation: SpaceIT GmbH
|
||||
// Contract: ESA contract 21435/08/NL/AT
|
||||
// Customer: ESA/ESTEC
|
||||
//////////////////////////////////////////////////////////////
|
||||
// CHANGE HISTORY
|
||||
//--------------
|
||||
// ChangeHistory:
|
||||
// 17-11-2009 creation by L. Desorgher
|
||||
// 17-11-2009 creation by L. Desorgher
|
||||
//
|
||||
//-------------------------------------------------------------
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#ifndef G4AdjointPhysicsList_h
|
||||
#define G4AdjointPhysicsList_h 1
|
||||
|
||||
@@ -48,34 +54,37 @@
|
||||
#include "G4hIonisation.hh"
|
||||
class G4AdjointPhysicsMessenger;
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
class G4AdjointPhysicsList: public G4VUserPhysicsList
|
||||
{
|
||||
public:
|
||||
G4AdjointPhysicsList();
|
||||
~G4AdjointPhysicsList();
|
||||
|
||||
virtual ~G4AdjointPhysicsList();
|
||||
|
||||
void SetLossFluctuationFlag(bool aBool);
|
||||
inline void SetUseIonisation(bool aBool){use_eionisation = aBool;}
|
||||
inline void SetUseProtonIonisation(bool aBool){use_pionisation = aBool;}
|
||||
inline void SetUseBrem(bool aBool){use_brem = aBool;}
|
||||
inline void SetUseCompton(bool aBool){use_compton = aBool;}
|
||||
inline void SetUseMS(bool aBool){use_ms = aBool;}
|
||||
inline void SetUsePEEffect(bool aBool){use_peeffect = aBool;}
|
||||
inline void SetUseGammaConversion(bool aBool){use_gamma_conversion = aBool;}
|
||||
inline void SetUseEgainFluctuation(bool aBool){use_egain_fluctuation = aBool;}
|
||||
inline void SetEminAdjModels(G4double aVal){emin_adj_models = aVal;}
|
||||
inline void SetEmaxAdjModels(G4double aVal){emax_adj_models = aVal;}
|
||||
|
||||
inline void SetUseIonisation(bool aBool){fUse_eionisation = aBool;}
|
||||
inline void SetUseProtonIonisation(bool aBool){
|
||||
fUse_pionisation = aBool;}
|
||||
inline void SetUseBrem(bool aBool){fUse_brem = aBool;}
|
||||
inline void SetUseCompton(bool aBool){fUse_compton = aBool;}
|
||||
inline void SetUseMS(bool aBool){fUse_ms = aBool;}
|
||||
inline void SetUsePEEffect(bool aBool){fUse_peeffect = aBool;}
|
||||
inline void SetUseGammaConversion(bool aBool){
|
||||
fUse_gamma_conversion = aBool;}
|
||||
inline void SetUseEgainFluctuation(bool aBool){
|
||||
fUse_egain_fluctuation = aBool;}
|
||||
inline void SetEminAdjModels(G4double aVal){
|
||||
fEmin_adj_models = aVal;}
|
||||
inline void SetEmaxAdjModels(G4double aVal){
|
||||
fEmax_adj_models = aVal;}
|
||||
|
||||
protected:
|
||||
// Construct particle and physics
|
||||
void ConstructParticle();
|
||||
void ConstructProcess();
|
||||
|
||||
virtual void ConstructParticle();
|
||||
virtual void ConstructProcess();
|
||||
void SetCuts();
|
||||
|
||||
|
||||
protected:
|
||||
// these methods Construct particles
|
||||
void ConstructBosons();
|
||||
@@ -89,37 +98,33 @@ class G4AdjointPhysicsList: public G4VUserPhysicsList
|
||||
void ConstructGeneral();
|
||||
void ConstructEM();
|
||||
|
||||
|
||||
|
||||
// G4eIonisationWithAdjoint* theeminusIonisation;
|
||||
G4eIonisation* theeminusIonisation;
|
||||
G4hIonisation* thepIonisation;
|
||||
|
||||
|
||||
// G4eIonisationWithAdjoint* fEminusIonisation;
|
||||
G4eIonisation* fEminusIonisation;
|
||||
G4hIonisation* fPIonisation;
|
||||
|
||||
private:
|
||||
|
||||
G4AdjointPhysicsMessenger* thePhysicsMessenger;
|
||||
|
||||
|
||||
G4bool use_eionisation;
|
||||
G4bool use_pionisation;
|
||||
G4bool use_brem;
|
||||
G4bool use_compton;
|
||||
G4bool use_ms;
|
||||
G4bool use_egain_fluctuation;
|
||||
G4bool use_peeffect;
|
||||
G4bool use_gamma_conversion;
|
||||
G4AdjointPhysicsMessenger* fPhysicsMessenger;
|
||||
|
||||
G4bool fUse_eionisation;
|
||||
G4bool fUse_pionisation;
|
||||
G4bool fUse_brem;
|
||||
G4bool fUse_compton;
|
||||
G4bool fUse_ms;
|
||||
G4bool fUse_egain_fluctuation;
|
||||
G4bool fUse_peeffect;
|
||||
G4bool fUse_gamma_conversion;
|
||||
|
||||
G4double emin_adj_models;
|
||||
G4double emax_adj_models;
|
||||
G4double fEmin_adj_models;
|
||||
G4double fEmax_adj_models;
|
||||
|
||||
G4double CS_biasing_factor_compton;
|
||||
G4double CS_biasing_factor_brem;
|
||||
G4double CS_biasing_factor_ionisation;
|
||||
G4double CS_biasing_factor_PEeffect;
|
||||
G4double fCS_biasing_factor_compton;
|
||||
G4double fCS_biasing_factor_brem;
|
||||
G4double fCS_biasing_factor_ionisation;
|
||||
G4double fCS_biasing_factor_PEeffect;
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -23,22 +23,28 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4AdjointPhysicsMessenger.hh,v 1.1 2009-11-19 22:41:18 ldesorgh Exp $
|
||||
// GEANT4 tag $Name: not supported by cvs2svn $
|
||||
/// \file biasing/ReverseMC01/include/G4AdjointPhysicsMessenger.hh
|
||||
/// \brief Definition of the G4AdjointPhysicsMessenger class
|
||||
//
|
||||
// $Id$
|
||||
//
|
||||
//////////////////////////////////////////////////////////////
|
||||
// Class Name: G4AdjointPhysicsMessenger
|
||||
// Author: L. Desorgher
|
||||
// Organisation: SpaceIT GmbH
|
||||
// Contract: ESA contract 21435/08/NL/AT
|
||||
// Customer: ESA/ESTEC
|
||||
// Class Name: G4AdjointPhysicsMessenger
|
||||
// Author: L. Desorgher
|
||||
// Organisation: SpaceIT GmbH
|
||||
// Contract: ESA contract 21435/08/NL/AT
|
||||
// Customer: ESA/ESTEC
|
||||
//////////////////////////////////////////////////////////////
|
||||
// CHANGE HISTORY
|
||||
//--------------
|
||||
// ChangeHistory:
|
||||
// 17-11-2009 creation by L. Desorgher
|
||||
// 17-11-2009 creation by L. Desorgher
|
||||
//
|
||||
//-------------------------------------------------------------
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#ifndef G4AdjointPhysicsMessenger_h
|
||||
#define G4AdjointPhysicsMessenger_h 1
|
||||
|
||||
@@ -61,40 +67,28 @@ class G4AdjointPhysicsMessenger: public G4UImessenger
|
||||
{
|
||||
public:
|
||||
G4AdjointPhysicsMessenger(G4AdjointPhysicsList* );
|
||||
~G4AdjointPhysicsMessenger();
|
||||
virtual ~G4AdjointPhysicsMessenger();
|
||||
|
||||
void SetNewValue(G4UIcommand*, G4String);
|
||||
virtual void SetNewValue(G4UIcommand*, G4String);
|
||||
|
||||
private:
|
||||
G4AdjointPhysicsList* thePhysicsList;
|
||||
G4AdjointPhysicsList* fPhysicsList;
|
||||
|
||||
|
||||
G4UIdirectory* PhysicsDir;
|
||||
G4UIdirectory* fPhysicsDir;
|
||||
|
||||
//Physics Model
|
||||
|
||||
G4UIcmdWithABool* UseIonisationCmd;
|
||||
G4UIcmdWithABool* UsepIonisationCmd;
|
||||
G4UIcmdWithABool* UseBremCmd;
|
||||
G4UIcmdWithABool* UseComptonCmd;
|
||||
G4UIcmdWithABool* UseMSCmd;
|
||||
G4UIcmdWithABool* UsePEEffectCmd;
|
||||
G4UIcmdWithABool* UseGammaConversionCmd;
|
||||
G4UIcmdWithABool* UseEgainFluctuationCmd;
|
||||
|
||||
G4UIcmdWithADoubleAndUnit* SetEminAdjModelsCmd;
|
||||
G4UIcmdWithADoubleAndUnit* SetEmaxAdjModelsCmd;
|
||||
|
||||
/*
|
||||
#ifdef TEST_MODE
|
||||
G4UIcmdWithADouble* SetCSBiasingFactorComptonCmd;
|
||||
G4UIcmdWithADouble* SetCSBiasingFactorBremCmd;
|
||||
G4UIcmdWithADouble* SetCSBiasingFactorIonisationCmd;
|
||||
G4UIcmdWithADouble* SetCSBiasingFactorPEeffectCmd;
|
||||
|
||||
#endif
|
||||
*/
|
||||
|
||||
G4UIcmdWithABool* fUsepIonisationCmd;
|
||||
G4UIcmdWithABool* fUseBremCmd;
|
||||
G4UIcmdWithABool* fUseComptonCmd;
|
||||
G4UIcmdWithABool* fUseMSCmd;
|
||||
G4UIcmdWithABool* fUsePEEffectCmd;
|
||||
G4UIcmdWithABool* fUseGammaConversionCmd;
|
||||
G4UIcmdWithABool* fUseEgainFluctuationCmd;
|
||||
|
||||
G4UIcmdWithADoubleAndUnit* fSetEminAdjModelsCmd;
|
||||
G4UIcmdWithADoubleAndUnit* fSetEmaxAdjModelsCmd;
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
@@ -23,18 +23,21 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
/// \file biasing/ReverseMC01/include/Histo1DVar.hh
|
||||
/// \brief Definition of the Histo1DVar class
|
||||
//
|
||||
#ifndef Histo1DVar_h
|
||||
#define Histo1DVar_h 1
|
||||
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
//
|
||||
// MODULE: Histo1DVar.hh
|
||||
//
|
||||
// Version: 1.0
|
||||
// Date: 09/03/00
|
||||
// Author: P R Truscott
|
||||
// Organisation: DERA UK
|
||||
// Customer: ESA/ESTEC, NOORDWIJK
|
||||
// Contract: 12115/96/NL/JG Work Order No. 3
|
||||
// Version: 1.0
|
||||
// Date: 09/03/00
|
||||
// Author: P R Truscott
|
||||
// Organisation: DERA UK
|
||||
// Customer: ESA/ESTEC, NOORDWIJK
|
||||
// Contract: 12115/96/NL/JG Work Order No. 3
|
||||
//
|
||||
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
//
|
||||
|
||||
@@ -23,18 +23,21 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
/// \file biasing/ReverseMC01/include/Histo2DVar.hh
|
||||
/// \brief Definition of the Histo2DVar class
|
||||
//
|
||||
#ifndef Histo2DVar_h
|
||||
#define Histo2DVar_h 1
|
||||
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
//
|
||||
// MODULE: Histo2DVar.hh
|
||||
//
|
||||
// Version: 1.0
|
||||
// Date: 09/03/00
|
||||
// Author: P R Truscott, F Lei
|
||||
// Organisation: DERA UK
|
||||
// Customer: ESA/ESTEC, NOORDWIJK
|
||||
// Contract: 12115/96/NL/JG Work Order No. 3
|
||||
// Version: 1.0
|
||||
// Date: 09/03/00
|
||||
// Author: P R Truscott, F Lei
|
||||
// Organisation: DERA UK
|
||||
// Customer: ESA/ESTEC, NOORDWIJK
|
||||
// Contract: 12115/96/NL/JG Work Order No. 3
|
||||
//
|
||||
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
//
|
||||
|
||||
@@ -23,18 +23,21 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
/// \file biasing/ReverseMC01/include/Histograms.hh
|
||||
/// \brief Definition of the Histograms class
|
||||
//
|
||||
#ifndef Histograms_h
|
||||
#define Histograms_h 1
|
||||
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
//
|
||||
// MODULE: Histograms.hh
|
||||
//
|
||||
// Version: 1.0
|
||||
// Date: 09/03/00
|
||||
// Author: P R Truscott
|
||||
// Organisation: DERA UK
|
||||
// Customer: ESA/ESTEC, NOORDWIJK
|
||||
// Contract: 12115/96/NL/JG Work Order No. 3
|
||||
// Version: 1.0
|
||||
// Date: 09/03/00
|
||||
// Author: P R Truscott
|
||||
// Organisation: DERA UK
|
||||
// Customer: ESA/ESTEC, NOORDWIJK
|
||||
// Contract: 12115/96/NL/JG Work Order No. 3
|
||||
//
|
||||
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
//
|
||||
|
||||
@@ -23,22 +23,28 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: RMC01AdjointEventAction.hh,v 1.1 2009-11-19 22:41:18 ldesorgh Exp $
|
||||
// GEANT4 tag $Name: not supported by cvs2svn $
|
||||
/// \file biasing/ReverseMC01/include/RMC01AdjointEventAction.hh
|
||||
/// \brief Definition of the RMC01AdjointEventAction class
|
||||
//
|
||||
// $Id$
|
||||
//
|
||||
//////////////////////////////////////////////////////////////
|
||||
// Class Name: RMC01AdjointEventAction
|
||||
// Author: L. Desorgher
|
||||
// Organisation: SpaceIT GmbH
|
||||
// Contract: ESA contract 21435/08/NL/AT
|
||||
// Customer: ESA/ESTEC
|
||||
// Class Name: RMC01AdjointEventAction
|
||||
// Author: L. Desorgher
|
||||
// Organisation: SpaceIT GmbH
|
||||
// Contract: ESA contract 21435/08/NL/AT
|
||||
// Customer: ESA/ESTEC
|
||||
//////////////////////////////////////////////////////////////
|
||||
// CHANGE HISTORY
|
||||
//--------------
|
||||
// ChangeHistory:
|
||||
// 17-11-2009 creation by L. Desorgher
|
||||
// 17-11-2009 creation by L. Desorgher
|
||||
//
|
||||
//-------------------------------------------------------------
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#ifndef RMC01AdjointEventAction_h
|
||||
#define RMC01AdjointEventAction_h 1
|
||||
|
||||
@@ -53,13 +59,16 @@ class RMC01AdjointEventAction : public G4UserEventAction
|
||||
{
|
||||
public:
|
||||
RMC01AdjointEventAction();
|
||||
~RMC01AdjointEventAction();
|
||||
virtual ~RMC01AdjointEventAction();
|
||||
|
||||
public:
|
||||
void BeginOfEventAction(const G4Event*);
|
||||
void EndOfEventAction(const G4Event*);
|
||||
virtual void BeginOfEventAction(const G4Event*);
|
||||
virtual void EndOfEventAction(const G4Event*);
|
||||
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
@@ -23,40 +23,34 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: RMC01AnalysisManager.hh,v 1.2 2009-11-27 14:43:25 ldesorgh Exp $
|
||||
// GEANT4 tag $Name: not supported by cvs2svn $
|
||||
/// \file biasing/ReverseMC01/include/RMC01AnalysisManager.hh
|
||||
/// \brief Definition of the RMC01AnalysisManager class
|
||||
//
|
||||
// $Id$
|
||||
//
|
||||
//////////////////////////////////////////////////////////////
|
||||
// Class Name: RMC01AnalysisManager
|
||||
// Author: L. Desorgher
|
||||
// Organisation: SpaceIT GmbH
|
||||
// Contract: ESA contract 21435/08/NL/AT
|
||||
// Customer: ESA/ESTEC
|
||||
// Class Name: RMC01AnalysisManager
|
||||
// Author: L. Desorgher
|
||||
// Organisation: SpaceIT GmbH
|
||||
// Contract: ESA contract 21435/08/NL/AT
|
||||
// Customer: ESA/ESTEC
|
||||
//////////////////////////////////////////////////////////////
|
||||
// CHANGE HISTORY
|
||||
//--------------
|
||||
// ChangeHistory:
|
||||
// 17-11-2009 creation by L. Desorgher
|
||||
// 24-11-2009 L.Desorgher,
|
||||
// - registering in Conv* ASCII files every 5000 events the computed edep with precision.
|
||||
// -Correction of the adjoint computed current and answer matrices by a factor n_asked/n_processed for the case
|
||||
// where a run is aborted because the user expected precision on e_dep has been reached.
|
||||
// 17-11-2009 creation by L. Desorgher
|
||||
// 24-11-2009 L.Desorgher,
|
||||
// -registering in Conv* ASCII files every 5000 events the computed
|
||||
// edep with precision.
|
||||
// -Correction of the adjoint computed current and answer matrices
|
||||
// by a factor n_asked/n_processed for the case where a run is aborted
|
||||
// because the user expected precision on e_dep has been reached.
|
||||
//
|
||||
//-------------------------------------------------------------
|
||||
/////////////////////////////////////////////////////////////////////////////////
|
||||
// Class Name: RMC01AnalysisManager
|
||||
// Author: L. Desorgher
|
||||
// Organisation: SpaceIT GmbH
|
||||
// Contract: ESA contract 21435/08/NL/AT
|
||||
// Customer: ESA/ESTEC
|
||||
/////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// CHANGE HISTORY
|
||||
// --------------
|
||||
// ChangeHistory:
|
||||
// 17-11-2009 creation by L. Desorgher
|
||||
//
|
||||
//-------------------------------------------------------------
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#ifndef RMC01AnalysisManager_HH
|
||||
#define RMC01AnalysisManager_HH
|
||||
|
||||
@@ -68,16 +62,18 @@
|
||||
#include"G4ThreeVector.hh"
|
||||
#include"G4Event.hh"
|
||||
#include"G4Run.hh"
|
||||
|
||||
class Histo1DVar;
|
||||
class Histo2DVar;
|
||||
class G4Timer;
|
||||
class RMC01AnalysisManagerMessenger;
|
||||
|
||||
|
||||
|
||||
enum PRIM_SPECTRUM_TYPE{EXPO,POWER};
|
||||
|
||||
class G4Step;
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
class RMC01AnalysisManager
|
||||
{
|
||||
public:
|
||||
@@ -92,16 +88,19 @@ public:
|
||||
void BeginOfEvent(const G4Event*);
|
||||
void EndOfEvent(const G4Event*);
|
||||
|
||||
void SetPrimaryExponentialSpectrumForAdjointSim(const G4String& particle_name, G4double fluence,G4double E0, G4double Emin,G4double Emax);
|
||||
void SetPrimaryPowerLawSpectrumForAdjointSim(const G4String& particle_name,G4double fluence, G4double alpha, G4double Emin,G4double Emax);
|
||||
inline void SetPrecision(G4double precision){precision_to_reach =precision/100.;}; //precision of the simulation results is given in % by the user
|
||||
|
||||
|
||||
void SetPrimaryExpSpectrumForAdjointSim(
|
||||
const G4String& particle_name, G4double fluence,
|
||||
G4double E0, G4double Emin,G4double Emax);
|
||||
void SetPrimaryPowerLawSpectrumForAdjointSim(
|
||||
const G4String& particle_name,G4double fluence,
|
||||
G4double alpha, G4double Emin,G4double Emax);
|
||||
//precision of the simulation results is given in % by the user
|
||||
inline void SetPrecision(G4double precision){
|
||||
fPrecision_to_reach =precision/100.;};
|
||||
|
||||
private:
|
||||
|
||||
static RMC01AnalysisManager* instance;
|
||||
|
||||
static RMC01AnalysisManager* fInstance;
|
||||
|
||||
private:
|
||||
|
||||
@@ -110,89 +109,79 @@ private:
|
||||
|
||||
void EndOfEventForForwardSimulation(const G4Event* anEvent);
|
||||
void EndOfEventForAdjointSimulation(const G4Event* anEvent);
|
||||
G4double PrimDiffAndDirectionalFluxForAdjointSim(G4double prim_energy);
|
||||
void WriteHisto(Histo1DVar* anHisto, G4double scaling_factor, G4String fileName, G4String header_lines);
|
||||
void WriteHisto(Histo2DVar* anHisto, G4double scaling_factor, G4String fileName, G4String header_lines);
|
||||
G4double PrimDiffAndDirFluxForAdjointSim(G4double prim_energy);
|
||||
void WriteHisto(Histo1DVar* anHisto, G4double scaling_factor,
|
||||
G4String fileName, G4String header_lines);
|
||||
void WriteHisto(Histo2DVar* anHisto, G4double scaling_factor,
|
||||
G4String fileName, G4String header_lines);
|
||||
void ResetHistograms();
|
||||
void ComputeMeanEdepAndError(const G4Event* anEvent,G4double& mean,G4double& error);
|
||||
void ComputeMeanEdepAndError(const G4Event* anEvent,
|
||||
G4double& mean,G4double& error);
|
||||
|
||||
private:
|
||||
|
||||
RMC01AnalysisManagerMessenger* theMsg;
|
||||
|
||||
RMC01AnalysisManagerMessenger* fMsg;
|
||||
|
||||
//Histos for fwd simulation
|
||||
//--------------
|
||||
Histo1DVar* edep_vs_prim_ekin;
|
||||
Histo1DVar* electron_current;
|
||||
Histo1DVar* proton_current;
|
||||
Histo1DVar* gamma_current;
|
||||
|
||||
Histo1DVar* fEdep_vs_prim_ekin;
|
||||
Histo1DVar* fElectron_current;
|
||||
Histo1DVar* fProton_current;
|
||||
Histo1DVar* fGamma_current;
|
||||
|
||||
//Fluence
|
||||
//------------
|
||||
G4double omni_fluence_for_fwd_sim;
|
||||
G4double fOmni_fluence_for_fwd_sim;
|
||||
|
||||
|
||||
//Variable to check the convergence of the energy deposited for both fwd and adjoint simulation
|
||||
//Variable to check the convergence of the energy deposited
|
||||
// for forward and adjoint simulations
|
||||
//---------------------------------------------------------
|
||||
G4double accumulated_edep;
|
||||
G4double accumulated_edep2;
|
||||
G4double mean_edep;
|
||||
G4double error_mean_edep;
|
||||
G4double relative_error;
|
||||
G4double elapsed_time;
|
||||
|
||||
|
||||
G4double precision_to_reach;
|
||||
G4bool stop_run_if_precision_reached;
|
||||
G4int nb_evt_modulo_for_convergence_test;
|
||||
G4double fAccumulated_edep;
|
||||
G4double fAccumulated_edep2;
|
||||
G4double fMean_edep;
|
||||
G4double fError_mean_edep;
|
||||
G4double fRelative_error;
|
||||
G4double fElapsed_time;
|
||||
G4double fPrecision_to_reach;
|
||||
G4bool fStop_run_if_precision_reached;
|
||||
G4int fNb_evt_modulo_for_convergence_test;
|
||||
|
||||
|
||||
//Histos for adjoint simulation
|
||||
//-----------------------------
|
||||
Histo1DVar* edep_answer_matrix_vs_electron_prim_energy;
|
||||
Histo2DVar* electron_current_answer_matrix_vs_electron_prim_energy;
|
||||
Histo2DVar* gamma_current_answer_matrix_vs_electron_prim_energy;
|
||||
Histo1DVar* fEdep_rmatrix_vs_electron_prim_energy;
|
||||
Histo2DVar* fElectron_current_rmatrix_vs_electron_prim_energy;
|
||||
Histo2DVar* fGamma_current_rmatrix_vs_electron_prim_energy;
|
||||
|
||||
Histo1DVar* edep_answer_matrix_vs_gamma_prim_energy;
|
||||
Histo2DVar* electron_current_answer_matrix_vs_gamma_prim_energy;
|
||||
Histo2DVar* gamma_current_answer_matrix_vs_gamma_prim_energy;
|
||||
Histo1DVar* fEdep_rmatrix_vs_gamma_prim_energy;
|
||||
Histo2DVar* fElectron_current_rmatrix_vs_gamma_prim_energy;
|
||||
Histo2DVar* fGamma_current_rmatrix_vs_gamma_prim_energy;
|
||||
|
||||
Histo1DVar* edep_answer_matrix_vs_proton_prim_energy;
|
||||
Histo2DVar* electron_current_answer_matrix_vs_proton_prim_energy;
|
||||
Histo2DVar* proton_current_answer_matrix_vs_proton_prim_energy;
|
||||
Histo2DVar* gamma_current_answer_matrix_vs_proton_prim_energy;
|
||||
Histo1DVar* fEdep_rmatrix_vs_proton_prim_energy;
|
||||
Histo2DVar* fElectron_current_rmatrix_vs_proton_prim_energy;
|
||||
Histo2DVar* fProton_current_rmatrix_vs_proton_prim_energy;
|
||||
Histo2DVar* fGamma_current_rmatrix_vs_proton_prim_energy;
|
||||
|
||||
|
||||
//Prim spectrum to which the adjoint simulation will be normalised
|
||||
//Answer matrices will be also registered for post processing normalisation
|
||||
//--------------------------------------------------------
|
||||
|
||||
PRIM_SPECTRUM_TYPE the_prim_spectrum_type;
|
||||
G4int thePrimPDG_ID;
|
||||
G4double alpha_or_E0;
|
||||
G4double amplitude_prim_spectrum;
|
||||
G4double emin_prim_spectrum;
|
||||
G4double emax_prim_spectrum;
|
||||
|
||||
G4bool adjoint_sim_mode;
|
||||
G4int nb_evt_per_adj_evt;
|
||||
PRIM_SPECTRUM_TYPE fPrimSpectrumType;
|
||||
G4int fPrimPDG_ID;
|
||||
G4double fAlpha_or_E0;
|
||||
G4double fAmplitude_prim_spectrum;
|
||||
G4double fEmin_prim_spectrum;
|
||||
G4double fEmax_prim_spectrum;
|
||||
G4bool fAdjoint_sim_mode;
|
||||
G4int fNb_evt_per_adj_evt;
|
||||
|
||||
|
||||
//Timer
|
||||
//------
|
||||
G4Timer* theTimer;
|
||||
|
||||
|
||||
std::fstream ConvergenceFileOutput;
|
||||
G4Timer* fTimer;
|
||||
std::fstream fConvergenceFileOutput;
|
||||
|
||||
|
||||
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -23,23 +23,29 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: RMC01AnalysisManagerMessenger.hh,v 1.1 2009-11-19 22:41:18 ldesorgh Exp $
|
||||
// GEANT4 tag $Name: not supported by cvs2svn $
|
||||
/// \file biasing/ReverseMC01/include/RMC01AnalysisManagerMessenger.hh
|
||||
/// \brief Definition of the RMC01AnalysisManagerMessenger class
|
||||
//
|
||||
// $Id$
|
||||
//
|
||||
//////////////////////////////////////////////////////////////
|
||||
// Class Name: RMC01AnalysisManagerMessenger
|
||||
// Author: L. Desorgher
|
||||
// Organisation: SpaceIT GmbH
|
||||
// Contract: ESA contract 21435/08/NL/AT
|
||||
// Customer: ESA/ESTEC
|
||||
// Class Name: RMC01AnalysisManagerMessenger
|
||||
// Author: L. Desorgher
|
||||
// Organisation: SpaceIT GmbH
|
||||
// Contract: ESA contract 21435/08/NL/AT
|
||||
// Customer: ESA/ESTEC
|
||||
//////////////////////////////////////////////////////////////
|
||||
// CHANGE HISTORY
|
||||
//--------------
|
||||
// ChangeHistory:
|
||||
// 17-11-2009 creation by L. Desorgher
|
||||
// 17-11-2009 creation by L. Desorgher
|
||||
//
|
||||
//-------------------------------------------------------------
|
||||
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#ifndef RMC01AnalysisManagerMessenger_h
|
||||
#define RMC01AnalysisManagerMessenger_h 1
|
||||
|
||||
@@ -50,8 +56,6 @@ class RMC01AnalysisManager;
|
||||
class G4UIdirectory;
|
||||
class G4UIcmdWithADouble;
|
||||
|
||||
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
class RMC01AnalysisManagerMessenger: public G4UImessenger
|
||||
@@ -59,25 +63,18 @@ class RMC01AnalysisManagerMessenger: public G4UImessenger
|
||||
public:
|
||||
RMC01AnalysisManagerMessenger(RMC01AnalysisManager* );
|
||||
|
||||
~RMC01AnalysisManagerMessenger();
|
||||
virtual ~RMC01AnalysisManagerMessenger();
|
||||
|
||||
void SetNewValue(G4UIcommand*, G4String);
|
||||
virtual void SetNewValue(G4UIcommand*, G4String);
|
||||
|
||||
private:
|
||||
RMC01AnalysisManager* theAnalysisManager;
|
||||
|
||||
|
||||
G4UIdirectory* analysisDir;
|
||||
RMC01AnalysisManager* fAnalysisManager;
|
||||
|
||||
G4UIdirectory* fAnalysisDir;
|
||||
|
||||
G4UIcmdWithADouble* SetPrecisionForConvergenceTestCmd;
|
||||
G4UIcommand* SetExponentialSpectrumToNormaliseAdjointResultsCmd;
|
||||
G4UIcommand* SetPowerLawSpectrumToNormaliseAdjointResultsCmd;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
G4UIcmdWithADouble* fSetPrecisionForConvergenceTestCmd;
|
||||
G4UIcommand* fSetExpSpectrumToNormaliseAdjResCmd;
|
||||
G4UIcommand* fSetPowerLawSpectrumToNormaliseAdjResCmd;
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
@@ -23,22 +23,28 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: RMC01DetectorConstruction.hh,v 1.1 2009-11-19 22:41:18 ldesorgh Exp $
|
||||
// GEANT4 tag $Name: not supported by cvs2svn $
|
||||
/// \file biasing/ReverseMC01/include/RMC01DetectorConstruction.hh
|
||||
/// \brief Definition of the RMC01DetectorConstruction class
|
||||
//
|
||||
// $Id$
|
||||
//
|
||||
//////////////////////////////////////////////////////////////
|
||||
// Class Name: RMC01DetectorConstruction
|
||||
// Author: L. Desorgher
|
||||
// Organisation: SpaceIT GmbH
|
||||
// Contract: ESA contract 21435/08/NL/AT
|
||||
// Customer: ESA/ESTEC
|
||||
// Class Name: RMC01DetectorConstruction
|
||||
// Author: L. Desorgher
|
||||
// Organisation: SpaceIT GmbH
|
||||
// Contract: ESA contract 21435/08/NL/AT
|
||||
// Customer: ESA/ESTEC
|
||||
//////////////////////////////////////////////////////////////
|
||||
// CHANGE HISTORY
|
||||
//--------------
|
||||
// ChangeHistory:
|
||||
// 17-11-2009 creation by L. Desorgher
|
||||
// 17-11-2009 creation by L. Desorgher
|
||||
//
|
||||
//-------------------------------------------------------------
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#ifndef RMC01DetectorConstruction_h
|
||||
#define RMC01DetectorConstruction_h 1
|
||||
|
||||
@@ -54,10 +60,10 @@ class RMC01DetectorConstruction : public G4VUserDetectorConstruction
|
||||
public:
|
||||
|
||||
RMC01DetectorConstruction();
|
||||
~RMC01DetectorConstruction();
|
||||
virtual ~RMC01DetectorConstruction();
|
||||
|
||||
public:
|
||||
G4VPhysicalVolume* Construct();
|
||||
virtual G4VPhysicalVolume* Construct();
|
||||
void UpdateGeometry();
|
||||
|
||||
void SetSensitiveVolumeHeight(G4double h);
|
||||
@@ -67,30 +73,21 @@ class RMC01DetectorConstruction : public G4VUserDetectorConstruction
|
||||
|
||||
private:
|
||||
|
||||
RMC01DetectorMessenger* detectorMessenger; //pointer to the Messenger
|
||||
RMC01DetectorMessenger* fDetectorMessenger; //pointer to the Messenger
|
||||
|
||||
//Geometrical parameters
|
||||
//----------------------
|
||||
G4double shield_Thickness;
|
||||
G4double sensitive_cylinder_H;
|
||||
G4double sensitive_cylinder_Rout;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
G4double fShield_Thickness;
|
||||
G4double fSensitive_cylinder_H;
|
||||
G4double fSensitive_cylinder_Rout;
|
||||
|
||||
private:
|
||||
|
||||
|
||||
void DefineMaterials();
|
||||
|
||||
G4VPhysicalVolume* ConstructSimpleGeometry();
|
||||
|
||||
};
|
||||
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#endif
|
||||
|
||||
@@ -23,23 +23,28 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: RMC01DetectorMessenger.hh,v 1.1 2009-11-19 22:41:18 ldesorgh Exp $
|
||||
// GEANT4 tag $Name: not supported by cvs2svn $
|
||||
/// \file biasing/ReverseMC01/include/RMC01DetectorMessenger.hh
|
||||
/// \brief Definition of the RMC01DetectorMessenger class
|
||||
//
|
||||
// $Id$
|
||||
//
|
||||
//////////////////////////////////////////////////////////////
|
||||
// Class Name: RMC01DetectorMessenger
|
||||
// Author: L. Desorgher
|
||||
// Organisation: SpaceIT GmbH
|
||||
// Contract: ESA contract 21435/08/NL/AT
|
||||
// Customer: ESA/ESTEC
|
||||
// Class Name: RMC01DetectorMessenger
|
||||
// Author: L. Desorgher
|
||||
// Organisation: SpaceIT GmbH
|
||||
// Contract: ESA contract 21435/08/NL/AT
|
||||
// Customer: ESA/ESTEC
|
||||
//////////////////////////////////////////////////////////////
|
||||
// CHANGE HISTORY
|
||||
//--------------
|
||||
// ChangeHistory:
|
||||
// 17-11-2009 creation by L. Desorgher
|
||||
// 17-11-2009 creation by L. Desorgher
|
||||
//
|
||||
//-------------------------------------------------------------
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#ifndef RMC01DetectorMessenger_h
|
||||
#define RMC01DetectorMessenger_h 1
|
||||
|
||||
@@ -60,23 +65,20 @@ class RMC01DetectorMessenger: public G4UImessenger
|
||||
public:
|
||||
RMC01DetectorMessenger(RMC01DetectorConstruction* );
|
||||
|
||||
~RMC01DetectorMessenger();
|
||||
virtual ~RMC01DetectorMessenger();
|
||||
|
||||
void SetNewValue(G4UIcommand*, G4String);
|
||||
virtual void SetNewValue(G4UIcommand*, G4String);
|
||||
|
||||
private:
|
||||
RMC01DetectorConstruction* theDetector;
|
||||
RMC01DetectorConstruction* fTheDetector;
|
||||
|
||||
G4UIdirectory* GeneralDir;
|
||||
G4UIdirectory* detDir;
|
||||
|
||||
G4UIcmdWithADoubleAndUnit* SetSensitiveVolumeHeightCmd;
|
||||
G4UIcmdWithADoubleAndUnit* SetSensitiveVolumeRadiusCmd;
|
||||
G4UIcmdWithADoubleAndUnit* SetShieldingThicknessCmd;
|
||||
|
||||
|
||||
|
||||
G4UIdirectory* fGeneralDir;
|
||||
G4UIdirectory* fDetDir;
|
||||
|
||||
G4UIcmdWithADoubleAndUnit* fSetSensitiveVolumeHeightCmd;
|
||||
G4UIcmdWithADoubleAndUnit* fSetSensitiveVolumeRadiusCmd;
|
||||
G4UIcmdWithADoubleAndUnit* fSetShieldingThicknessCmd;
|
||||
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
@@ -23,22 +23,28 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: RMC01DoubleWithWeightHit.hh,v 1.1 2009-11-19 22:41:18 ldesorgh Exp $
|
||||
// GEANT4 tag $Name: not supported by cvs2svn $
|
||||
/// \file biasing/ReverseMC01/include/RMC01DoubleWithWeightHit.hh
|
||||
/// \brief Definition of the RMC01DoubleWithWeightHit class
|
||||
//
|
||||
// $Id$
|
||||
//
|
||||
//////////////////////////////////////////////////////////////
|
||||
// Class Name: RMC01DoubleWithWeightHit
|
||||
// Author: L. Desorgher
|
||||
// Organisation: SpaceIT GmbH
|
||||
// Contract: ESA contract 21435/08/NL/AT
|
||||
// Customer: ESA/ESTEC
|
||||
// Class Name: RMC01DoubleWithWeightHit
|
||||
// Author: L. Desorgher
|
||||
// Organisation: SpaceIT GmbH
|
||||
// Contract: ESA contract 21435/08/NL/AT
|
||||
// Customer: ESA/ESTEC
|
||||
//////////////////////////////////////////////////////////////
|
||||
// CHANGE HISTORY
|
||||
//--------------
|
||||
// ChangeHistory:
|
||||
// 17-11-2009 creation by L. Desorgher
|
||||
// 17-11-2009 creation by L. Desorgher
|
||||
//
|
||||
//-------------------------------------------------------------
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#ifndef RMC01DoubleWithWeightHit_h
|
||||
#define RMC01DoubleWithWeightHit_h 1
|
||||
|
||||
@@ -46,15 +52,18 @@
|
||||
#include "G4THitsCollection.hh"
|
||||
#include "G4Allocator.hh"
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
class RMC01DoubleWithWeightHit : public G4VHit
|
||||
{
|
||||
public:
|
||||
RMC01DoubleWithWeightHit(G4double value, G4double weight);
|
||||
~RMC01DoubleWithWeightHit();
|
||||
virtual ~RMC01DoubleWithWeightHit();
|
||||
|
||||
RMC01DoubleWithWeightHit(const RMC01DoubleWithWeightHit &right);
|
||||
|
||||
const RMC01DoubleWithWeightHit& operator = (const RMC01DoubleWithWeightHit &right);
|
||||
const RMC01DoubleWithWeightHit& operator = (
|
||||
const RMC01DoubleWithWeightHit &right);
|
||||
|
||||
int operator == (const RMC01DoubleWithWeightHit &right) const;
|
||||
|
||||
@@ -63,23 +72,23 @@ public:
|
||||
|
||||
private:
|
||||
|
||||
G4double theValue; // It can be anything
|
||||
G4double theWeight;
|
||||
G4double fValue; // It can be anything
|
||||
G4double fWeight;
|
||||
|
||||
public:
|
||||
// Methods to get the information - energy deposit and associated
|
||||
// position in the phantom - of the hits stored in the hits collection
|
||||
|
||||
inline G4double GetValue()
|
||||
{return theValue;}
|
||||
inline G4double GetValue() {return fValue;}
|
||||
|
||||
inline G4double GetWeight()
|
||||
{return theWeight;}
|
||||
|
||||
inline G4double GetWeight() {return fWeight;}
|
||||
|
||||
};
|
||||
|
||||
typedef G4THitsCollection<RMC01DoubleWithWeightHit> RMC01DoubleWithWeightHitsCollection;
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
typedef G4THitsCollection<RMC01DoubleWithWeightHit>
|
||||
RMC01DoubleWithWeightHitsCollection;
|
||||
extern G4Allocator<RMC01DoubleWithWeightHit> RMC01DoubleWithWeightHitAllocator;
|
||||
|
||||
inline void* RMC01DoubleWithWeightHit::operator new(size_t)
|
||||
@@ -89,10 +98,15 @@ inline void* RMC01DoubleWithWeightHit::operator new(size_t)
|
||||
return aHit;
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
inline void RMC01DoubleWithWeightHit::operator delete(void *aHit)
|
||||
{
|
||||
RMC01DoubleWithWeightHitAllocator.FreeSingle((RMC01DoubleWithWeightHit*) aHit);
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
@@ -23,20 +23,22 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: RMC01EventAction.hh,v 1.1 2009-11-19 22:41:18 ldesorgh Exp $
|
||||
// GEANT4 tag $Name: not supported by cvs2svn $
|
||||
/// \file biasing/ReverseMC01/include/RMC01EventAction.hh
|
||||
/// \brief Definition of the RMC01EventAction class
|
||||
//
|
||||
// $Id$
|
||||
//
|
||||
//////////////////////////////////////////////////////////////
|
||||
// Class Name: RMC01EventAction
|
||||
// Author: L. Desorgher
|
||||
// Organisation: SpaceIT GmbH
|
||||
// Contract: ESA contract 21435/08/NL/AT
|
||||
// Customer: ESA/ESTEC
|
||||
// Class Name: RMC01EventAction
|
||||
// Author: L. Desorgher
|
||||
// Organisation: SpaceIT GmbH
|
||||
// Contract: ESA contract 21435/08/NL/AT
|
||||
// Customer: ESA/ESTEC
|
||||
//////////////////////////////////////////////////////////////
|
||||
// CHANGE HISTORY
|
||||
//--------------
|
||||
// ChangeHistory:
|
||||
// 17-11-2009 creation by L. Desorgher
|
||||
// 17-11-2009 creation by L. Desorgher
|
||||
//
|
||||
//-------------------------------------------------------------
|
||||
#ifndef RMC01EventAction_h
|
||||
@@ -53,17 +55,16 @@ class RMC01EventAction : public G4UserEventAction
|
||||
{
|
||||
public:
|
||||
RMC01EventAction();
|
||||
~RMC01EventAction();
|
||||
|
||||
|
||||
virtual ~RMC01EventAction();
|
||||
|
||||
public:
|
||||
void BeginOfEventAction(const G4Event*);
|
||||
void EndOfEventAction(const G4Event*);
|
||||
|
||||
|
||||
|
||||
virtual void BeginOfEventAction(const G4Event*);
|
||||
virtual void EndOfEventAction(const G4Event*);
|
||||
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
@@ -23,44 +23,48 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: RMC01PrimaryGeneratorAction.hh,v 1.1 2009-11-19 22:41:18 ldesorgh Exp $
|
||||
// GEANT4 tag $Name: not supported by cvs2svn $
|
||||
/// \file biasing/ReverseMC01/include/RMC01PrimaryGeneratorAction.hh
|
||||
/// \brief Definition of the RMC01PrimaryGeneratorAction class
|
||||
//
|
||||
// $Id$
|
||||
//
|
||||
//////////////////////////////////////////////////////////////
|
||||
// Class Name: RMC01PrimaryGeneratorAction
|
||||
// Author: L. Desorgher
|
||||
// Organisation: SpaceIT GmbH
|
||||
// Contract: ESA contract 21435/08/NL/AT
|
||||
// Customer: ESA/ESTEC
|
||||
// Class Name: RMC01PrimaryGeneratorAction
|
||||
// Author: L. Desorgher
|
||||
// Organisation: SpaceIT GmbH
|
||||
// Contract: ESA contract 21435/08/NL/AT
|
||||
// Customer: ESA/ESTEC
|
||||
//////////////////////////////////////////////////////////////
|
||||
// CHANGE HISTORY
|
||||
//--------------
|
||||
// ChangeHistory:
|
||||
// 17-11-2009 creation by L. Desorgher
|
||||
// 17-11-2009 creation by L. Desorgher
|
||||
//
|
||||
//-------------------------------------------------------------
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#ifndef RMC01PrimaryGeneratorAction_h
|
||||
#define RMC01PrimaryGeneratorAction_h 1
|
||||
#include "G4VUserPrimaryGeneratorAction.hh"
|
||||
#include "globals.hh"
|
||||
#include "G4GeneralParticleSource.hh"
|
||||
class OnExternalSurfacePrimaryGenerator;
|
||||
class G4ParticleGun;
|
||||
class G4Event;
|
||||
class G4SingleParticleSource;
|
||||
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
class RMC01PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction
|
||||
{
|
||||
public:
|
||||
RMC01PrimaryGeneratorAction();
|
||||
~RMC01PrimaryGeneratorAction();
|
||||
virtual ~RMC01PrimaryGeneratorAction();
|
||||
|
||||
public:
|
||||
void GeneratePrimaries(G4Event*);
|
||||
virtual void GeneratePrimaries(G4Event*);
|
||||
|
||||
private:
|
||||
G4GeneralParticleSource* theParticleSource;
|
||||
G4GeneralParticleSource* fParticleSource;
|
||||
|
||||
};
|
||||
|
||||
|
||||
@@ -23,22 +23,28 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: RMC01RunAction.hh,v 1.1 2009-11-19 22:41:18 ldesorgh Exp $
|
||||
// GEANT4 tag $Name: not supported by cvs2svn $
|
||||
/// \file biasing/ReverseMC01/include/RMC01RunAction.hh
|
||||
/// \brief Definition of the RMC01RunAction class
|
||||
//
|
||||
// $Id$
|
||||
//
|
||||
//////////////////////////////////////////////////////////////
|
||||
// Class Name: RMC01RunAction
|
||||
// Author: L. Desorgher
|
||||
// Organisation: SpaceIT GmbH
|
||||
// Contract: ESA contract 21435/08/NL/AT
|
||||
// Customer: ESA/ESTEC
|
||||
// Class Name: RMC01RunAction
|
||||
// Author: L. Desorgher
|
||||
// Organisation: SpaceIT GmbH
|
||||
// Contract: ESA contract 21435/08/NL/AT
|
||||
// Customer: ESA/ESTEC
|
||||
//////////////////////////////////////////////////////////////
|
||||
// CHANGE HISTORY
|
||||
//--------------
|
||||
// ChangeHistory:
|
||||
// 17-11-2009 creation by L. Desorgher
|
||||
// 17-11-2009 creation by L. Desorgher
|
||||
//
|
||||
//-------------------------------------------------------------
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#ifndef RMC01RunAction_h
|
||||
#define RMC01RunAction_h 1
|
||||
|
||||
@@ -48,6 +54,9 @@
|
||||
|
||||
class G4Run;
|
||||
class RMC01AnalysisManager;
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
class RMC01RunAction : public G4UserRunAction
|
||||
{
|
||||
public:
|
||||
@@ -61,10 +70,10 @@ public:
|
||||
virtual void EndOfRunAction(const G4Run*);
|
||||
|
||||
private:
|
||||
RMC01AnalysisManager* theAnalysisManager;
|
||||
RMC01AnalysisManager* fAnalysisManager;
|
||||
|
||||
};
|
||||
|
||||
//
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#endif
|
||||
|
||||
@@ -23,22 +23,28 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: RMC01SD.hh,v 1.1 2009-11-19 22:41:18 ldesorgh Exp $
|
||||
// GEANT4 tag $Name: not supported by cvs2svn $
|
||||
/// \file biasing/ReverseMC01/include/RMC01SD.hh
|
||||
/// \brief Definition of the RMC01SD class
|
||||
//
|
||||
// $Id$
|
||||
//
|
||||
//////////////////////////////////////////////////////////////
|
||||
// Class Name: RMC01SD
|
||||
// Author: L. Desorgher
|
||||
// Organisation: SpaceIT GmbH
|
||||
// Contract: ESA contract 21435/08/NL/AT
|
||||
// Customer: ESA/ESTEC
|
||||
// Class Name: RMC01SD
|
||||
// Author: L. Desorgher
|
||||
// Organisation: SpaceIT GmbH
|
||||
// Contract: ESA contract 21435/08/NL/AT
|
||||
// Customer: ESA/ESTEC
|
||||
//////////////////////////////////////////////////////////////
|
||||
// CHANGE HISTORY
|
||||
//--------------
|
||||
// ChangeHistory:
|
||||
// 17-11-2009 creation by L. Desorgher
|
||||
// 17-11-2009 creation by L. Desorgher
|
||||
//
|
||||
//-------------------------------------------------------------
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#ifndef RMC01SD_h
|
||||
#define RMC01SD_h 1
|
||||
|
||||
@@ -55,38 +61,31 @@ class G4VPhysicalVolume;
|
||||
#include"G4ios.hh"
|
||||
#include"RMC01DoubleWithWeightHit.hh"
|
||||
|
||||
//The sensitive detector
|
||||
//----------------------------
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
class RMC01SD : public G4VSensitiveDetector
|
||||
{
|
||||
|
||||
public:
|
||||
|
||||
RMC01SD(G4String name);
|
||||
~RMC01SD();
|
||||
RMC01SD(G4String name);
|
||||
virtual ~RMC01SD();
|
||||
virtual void Initialize(G4HCofThisEvent*HCE);
|
||||
virtual G4bool ProcessHits(G4Step*aStep,G4TouchableHistory*ROhist);
|
||||
virtual void EndOfEvent(G4HCofThisEvent*HCE);
|
||||
virtual void Clear();
|
||||
virtual void DrawAll();
|
||||
virtual void PrintAll();
|
||||
|
||||
void Initialize(G4HCofThisEvent*HCE);
|
||||
G4bool ProcessHits(G4Step*aStep,G4TouchableHistory*ROhist);
|
||||
void EndOfEvent(G4HCofThisEvent*HCE);
|
||||
void clear();
|
||||
void DrawAll();
|
||||
void PrintAll();
|
||||
|
||||
|
||||
private:
|
||||
|
||||
|
||||
|
||||
G4double TotalEventEdep;
|
||||
RMC01DoubleWithWeightHitsCollection* EventEdepCollection;
|
||||
RMC01DoubleWithWeightHitsCollection* ProtonCurrentCollection;
|
||||
RMC01DoubleWithWeightHitsCollection* GammaCurrentCollection;
|
||||
RMC01DoubleWithWeightHitsCollection* ElectronCurrentCollection;
|
||||
|
||||
G4double fTotalEventEdep;
|
||||
RMC01DoubleWithWeightHitsCollection* fEventEdepCollection;
|
||||
RMC01DoubleWithWeightHitsCollection* fProtonCurrentCollection;
|
||||
RMC01DoubleWithWeightHitsCollection* fGammaCurrentCollection;
|
||||
RMC01DoubleWithWeightHitsCollection* fElectronCurrentCollection;
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -23,18 +23,21 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
/// \file biasing/ReverseMC01/include/VariableLengthPartition.hh
|
||||
/// \brief Definition of the VariableLengthPartition class
|
||||
//
|
||||
#ifndef VariableLengthPartition_h
|
||||
#define VariableLengthPartition_h 1
|
||||
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
//
|
||||
// MODULE: VariableLengthParition.hh
|
||||
//
|
||||
// Version: 1.0
|
||||
// Date: 09/03/00
|
||||
// Author: P R Truscott
|
||||
// Organisation: DERA UK
|
||||
// Customer: ESA/ESTEC, NOORDWIJK
|
||||
// Contract: 12115/96/NL/JG Work Order No. 3
|
||||
// Version: 1.0
|
||||
// Date: 09/03/00
|
||||
// Author: P R Truscott
|
||||
// Organisation: DERA UK
|
||||
// Customer: ESA/ESTEC, NOORDWIJK
|
||||
// Contract: 12115/96/NL/JG Work Order No. 3
|
||||
//
|
||||
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
//
|
||||
|
||||
@@ -23,18 +23,21 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
/// \file biasing/ReverseMC01/include/side.hh
|
||||
/// \brief Definition of the side class
|
||||
//
|
||||
#ifndef side_h
|
||||
#define side_h 1
|
||||
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
//
|
||||
// MODULE: side.hh
|
||||
//
|
||||
// Version: 1.0
|
||||
// Date: 09/03/00
|
||||
// Author: P R Truscott, F Lei
|
||||
// Organisation: DERA UK
|
||||
// Customer: ESA/ESTEC, NOORDWIJK
|
||||
// Contract: 12115/96/NL/JG Work Order No. 3
|
||||
// Version: 1.0
|
||||
// Date: 09/03/00
|
||||
// Author: P R Truscott, F Lei
|
||||
// Organisation: DERA UK
|
||||
// Customer: ESA/ESTEC, NOORDWIJK
|
||||
// Contract: 12115/96/NL/JG Work Order No. 3
|
||||
//
|
||||
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
//
|
||||
|
||||
Reference in New Issue
Block a user