Import Geant4 10.7.0 source tree
This commit is contained in:
Executable → Regular
@@ -57,6 +57,7 @@
|
||||
|
||||
class G4ParticleDefinition;
|
||||
class G4VEmProcess;
|
||||
class G4VEnergyLossProcess;
|
||||
|
||||
class G4EmDataHandler
|
||||
{
|
||||
|
||||
@@ -191,6 +191,10 @@ public:
|
||||
// total number of models
|
||||
inline G4int NumberOfModels() const;
|
||||
|
||||
// hide assignment operator
|
||||
G4EmModelManager(G4EmModelManager &) = delete;
|
||||
G4EmModelManager & operator=(const G4EmModelManager &right) = delete;
|
||||
|
||||
private:
|
||||
|
||||
inline G4double ComputeDEDX(G4VEmModel* model,
|
||||
@@ -199,15 +203,8 @@ private:
|
||||
G4double cutEnergy,
|
||||
G4double minEnergy);
|
||||
|
||||
// hide assignment operator
|
||||
|
||||
G4EmModelManager(G4EmModelManager &) = delete;
|
||||
G4EmModelManager & operator=(const G4EmModelManager &right) = delete;
|
||||
|
||||
// =====================================================================
|
||||
|
||||
private:
|
||||
|
||||
const G4DataVector* theCuts;
|
||||
G4DataVector* theCutsNew;
|
||||
G4DataVector* theSubCuts;
|
||||
|
||||
@@ -62,6 +62,13 @@
|
||||
#include "G4Threading.hh"
|
||||
#include <vector>
|
||||
|
||||
enum G4eSingleScatteringType
|
||||
{
|
||||
fWVI = 0,
|
||||
fMott,
|
||||
fDPWA
|
||||
};
|
||||
|
||||
class G4EmParametersMessenger;
|
||||
class G4EmExtraParameters;
|
||||
class G4EmLowEParameters;
|
||||
@@ -207,6 +214,8 @@ public:
|
||||
|
||||
void SetBremsstrahlungTh(G4double val);
|
||||
G4double BremsstrahlungTh() const;
|
||||
void SetMuHadBremsstrahlungTh(G4double val);
|
||||
G4double MuHadBremsstrahlungTh() const;
|
||||
|
||||
void SetLambdaFactor(G4double val);
|
||||
G4double LambdaFactor() const;
|
||||
@@ -278,6 +287,9 @@ public:
|
||||
void SetMscMuHadStepLimitType(G4MscStepLimitType val);
|
||||
G4MscStepLimitType MscMuHadStepLimitType() const;
|
||||
|
||||
void SetSingleScatteringType(G4eSingleScatteringType val);
|
||||
G4eSingleScatteringType SingleScatteringType() const;
|
||||
|
||||
void SetNuclearFormfactorType(G4NuclearFormfactorType val);
|
||||
G4NuclearFormfactorType NuclearFormfactorType() const;
|
||||
|
||||
@@ -395,6 +407,7 @@ private:
|
||||
G4double lowestTripletEnergy;
|
||||
G4double linLossLimit;
|
||||
G4double bremsTh;
|
||||
G4double bremsMuHadTh;
|
||||
G4double lambdaFactor;
|
||||
G4double factorForAngleLimit;
|
||||
G4double thetaLimit;
|
||||
@@ -417,6 +430,7 @@ private:
|
||||
G4MscStepLimitType mscStepLimit;
|
||||
G4MscStepLimitType mscStepLimitMuHad;
|
||||
G4NuclearFormfactorType nucFormfactor;
|
||||
G4eSingleScatteringType fSStype;
|
||||
|
||||
#ifdef G4MULTITHREADED
|
||||
static G4Mutex emParametersMutex;
|
||||
|
||||
@@ -110,6 +110,7 @@ private:
|
||||
G4UIcmdWithADoubleAndUnit* lowhEnCmd;
|
||||
G4UIcmdWithADouble* lllCmd;
|
||||
G4UIcmdWithADoubleAndUnit* brCmd;
|
||||
G4UIcmdWithADoubleAndUnit* br1Cmd;
|
||||
G4UIcmdWithADouble* labCmd;
|
||||
G4UIcmdWithADouble* mscfCmd;
|
||||
G4UIcmdWithADoubleAndUnit* angCmd;
|
||||
@@ -134,6 +135,7 @@ private:
|
||||
G4UIcmdWithAString* mscCmd;
|
||||
G4UIcmdWithAString* msc1Cmd;
|
||||
G4UIcmdWithAString* nffCmd;
|
||||
G4UIcmdWithAString* ssCmd;
|
||||
|
||||
G4UIcommand* dumpCmd;
|
||||
|
||||
|
||||
@@ -60,11 +60,14 @@ enum G4EmProcessSubType
|
||||
fGammaConversion = 14,
|
||||
fGammaConversionToMuMu = 15,
|
||||
fGammaGeneralProcess = 16,
|
||||
fPositronGeneralProcess = 17,
|
||||
|
||||
fCerenkov = 21,
|
||||
fScintillation = 22,
|
||||
fSynchrotronRadiation = 23,
|
||||
fTransitionRadiation = 24
|
||||
fTransitionRadiation = 24,
|
||||
|
||||
fSurfaceReflection = 25
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
Executable → Regular
+1
-1
@@ -94,7 +94,7 @@ public:
|
||||
// dump G4 list
|
||||
void DumpG4BirksCoefficients();
|
||||
|
||||
// this method should not be overwitten
|
||||
// this method should not be overwritten
|
||||
inline G4double VisibleEnergyDepositionAtAStep(const G4Step*) const;
|
||||
|
||||
inline void SetVerbose(G4int);
|
||||
|
||||
@@ -223,9 +223,13 @@ public:
|
||||
|
||||
inline G4VEmProcess* GetGammaGeneralProcess();
|
||||
|
||||
inline void SetElectronGeneralProcess(G4VEnergyLossProcess*);
|
||||
inline void SetElectronGeneralProcess(G4VEmProcess*);
|
||||
|
||||
inline G4VEnergyLossProcess* GetElectronGeneralProcess();
|
||||
inline G4VEmProcess* GetElectronGeneralProcess();
|
||||
|
||||
inline void SetPositronGeneralProcess(G4VEmProcess*);
|
||||
|
||||
inline G4VEmProcess* GetPositronGeneralProcess();
|
||||
|
||||
private:
|
||||
|
||||
@@ -294,7 +298,8 @@ private:
|
||||
|
||||
G4EmParameters* theParameters;
|
||||
G4VEmProcess* gGeneral;
|
||||
G4VEnergyLossProcess* eGeneral;
|
||||
G4VEmProcess* eGeneral;
|
||||
G4VEmProcess* pGeneral;
|
||||
|
||||
G4int verbose;
|
||||
};
|
||||
@@ -431,20 +436,32 @@ inline G4VEmProcess* G4LossTableManager::GetGammaGeneralProcess()
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
inline
|
||||
void G4LossTableManager::SetElectronGeneralProcess(G4VEnergyLossProcess* ptr)
|
||||
inline void G4LossTableManager::SetElectronGeneralProcess(G4VEmProcess* ptr)
|
||||
{
|
||||
eGeneral = ptr;
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
inline G4VEnergyLossProcess* G4LossTableManager::GetElectronGeneralProcess()
|
||||
inline G4VEmProcess* G4LossTableManager::GetElectronGeneralProcess()
|
||||
{
|
||||
return eGeneral;
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
inline void G4LossTableManager::SetPositronGeneralProcess(G4VEmProcess* ptr)
|
||||
{
|
||||
pGeneral = ptr;
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
inline G4VEmProcess* G4LossTableManager::GetPositronGeneralProcess()
|
||||
{
|
||||
return pGeneral;
|
||||
}
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
Executable → Regular
@@ -0,0 +1,272 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * License and Disclaimer *
|
||||
// * *
|
||||
// * The Geant4 software is copyright of the Copyright Holders of *
|
||||
// * the Geant4 Collaboration. It is provided under the terms and *
|
||||
// * conditions of the Geant4 Software License, included in the file *
|
||||
// * LICENSE and available at http://cern.ch/geant4/license . These *
|
||||
// * include a list of copyright holders. *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. Please see the license in the file LICENSE and URL above *
|
||||
// * for the full disclaimer and the limitation of liability. *
|
||||
// * *
|
||||
// * This code implementation is the result of the scientific and *
|
||||
// * technical work of the GEANT4 collaboration. *
|
||||
// * By using, copying, modifying or distributing the software (or *
|
||||
// * any work based on the software) you agree to acknowledge its *
|
||||
// * use in resulting scientific publications, and indicate your *
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
//
|
||||
// GEANT4 Class header file
|
||||
//
|
||||
// File name: G4OpticalParameters
|
||||
//
|
||||
// Author: Daren Sawkey based on G4EmParameters
|
||||
//
|
||||
// Creation date: 14.07.2020
|
||||
//
|
||||
// Modifications:
|
||||
//
|
||||
//
|
||||
// Class Description:
|
||||
//
|
||||
// A utility static class, responsable for keeping parameters
|
||||
// for all optical physics processes and models.
|
||||
//
|
||||
// It is initialized by the master thread but can be updated
|
||||
// at any moment. Parameters may be used in run time or at
|
||||
// initialisation
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
//
|
||||
|
||||
#ifndef G4OpticalParameters_h
|
||||
#define G4OpticalParameters_h 1
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4ios.hh"
|
||||
#include "G4ThreeVector.hh"
|
||||
#include "G4Threading.hh"
|
||||
#include <vector>
|
||||
|
||||
class G4OpticalParametersMessenger;
|
||||
class G4StateManager;
|
||||
|
||||
enum G4OpticalProcessIndex {
|
||||
kCerenkov, ///< Cerenkov process index
|
||||
kScintillation, ///< Scintillation process index
|
||||
kAbsorption, ///< Absorption process index
|
||||
kRayleigh, ///< Rayleigh scattering process index
|
||||
kMieHG, ///< Mie scattering process index
|
||||
kBoundary, ///< Boundary process index
|
||||
kWLS, ///< Wave Length Shifting process index
|
||||
kWLS2, ///< Second Wave Length Shifting process index
|
||||
kNoProcess ///< Number of processes, no selected process
|
||||
};
|
||||
|
||||
/// Return the name for a given optical process index
|
||||
G4String G4OpticalProcessName(G4int );
|
||||
|
||||
inline
|
||||
G4String G4OpticalProcessName(G4int processNumber)
|
||||
{
|
||||
switch ( processNumber ) {
|
||||
case kCerenkov: return "Cerenkov";
|
||||
case kScintillation: return "Scintillation";
|
||||
case kAbsorption: return "OpAbsorption";
|
||||
case kRayleigh: return "OpRayleigh";
|
||||
case kMieHG: return "OpMieHG";
|
||||
case kBoundary: return "OpBoundary";
|
||||
case kWLS: return "OpWLS";
|
||||
case kWLS2: return "OpWLS2";
|
||||
default: return "NoProcess";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
class G4OpticalParameters
|
||||
{
|
||||
public:
|
||||
|
||||
static G4OpticalParameters* Instance();
|
||||
|
||||
~G4OpticalParameters();
|
||||
|
||||
void SetDefaults();
|
||||
|
||||
// printing
|
||||
void StreamInfo(std::ostream& os) const;
|
||||
void Dump() const;
|
||||
friend std::ostream& operator<< (std::ostream& os, const G4OpticalParameters&);
|
||||
|
||||
void SetVerboseLevel(G4int);
|
||||
G4int GetVerboseLevel() const;
|
||||
|
||||
void SetProcessActivation(const G4String&, G4bool);
|
||||
G4bool GetProcessActivation(const G4String&) const;
|
||||
|
||||
// DEPRECATED, use Set/GetProcessActivation instead
|
||||
void Configure(G4OpticalProcessIndex, G4bool);
|
||||
G4bool GetConfiguration(G4OpticalProcessIndex);
|
||||
|
||||
// DEPRECATED, use Set/GetCerenkovTrackSecondariesFirst and
|
||||
// Set/GetScintTrackSecondariesFirst instead
|
||||
void SetTrackSecondariesFirst(G4OpticalProcessIndex, G4bool);
|
||||
G4bool GetTrackSecondariesFirst(G4OpticalProcessIndex);
|
||||
|
||||
// Cerenkov
|
||||
void SetCerenkovMaxPhotonsPerStep(G4int);
|
||||
G4int GetCerenkovMaxPhotonsPerStep() const;
|
||||
void SetCerenkovVerboseLevel(G4int);
|
||||
G4int GetCerenkovVerboseLevel() const;
|
||||
void SetCerenkovMaxBetaChange(G4double);
|
||||
G4double GetCerenkovMaxBetaChange() const;
|
||||
void SetCerenkovTrackSecondariesFirst(G4bool);
|
||||
G4bool GetCerenkovTrackSecondariesFirst() const;
|
||||
void SetCerenkovStackPhotons(G4bool);
|
||||
G4bool GetCerenkovStackPhotons() const;
|
||||
|
||||
// Scintillation
|
||||
void SetScintYieldFactor(G4double);
|
||||
G4double GetScintYieldFactor() const;
|
||||
void SetScintExcitationRatio(G4double);
|
||||
G4double GetScintExcitationRatio() const;
|
||||
void SetScintByParticleType(G4bool);
|
||||
G4bool GetScintByParticleType() const;
|
||||
void SetScintTrackInfo(G4bool);
|
||||
G4bool GetScintTrackInfo() const;
|
||||
void SetScintTrackSecondariesFirst(G4bool);
|
||||
G4bool GetScintTrackSecondariesFirst() const;
|
||||
void SetScintFiniteRiseTime(G4bool);
|
||||
G4bool GetScintFiniteRiseTime() const;
|
||||
void SetScintStackPhotons(G4bool);
|
||||
G4bool GetScintStackPhotons() const;
|
||||
void SetScintVerboseLevel(G4int);
|
||||
G4int GetScintVerboseLevel() const;
|
||||
void SetScintEnhancedTimeConstants(G4bool);
|
||||
G4bool GetScintEnhancedTimeConstants() const;
|
||||
|
||||
// WLS
|
||||
void SetWLSTimeProfile(const G4String&);
|
||||
G4String GetWLSTimeProfile() const;
|
||||
void SetWLSVerboseLevel(G4int);
|
||||
G4int GetWLSVerboseLevel() const;
|
||||
|
||||
// WLS2
|
||||
void SetWLS2TimeProfile(const G4String&);
|
||||
G4String GetWLS2TimeProfile() const;
|
||||
void SetWLS2VerboseLevel(G4int);
|
||||
G4int GetWLS2VerboseLevel() const;
|
||||
|
||||
// boundary
|
||||
void SetBoundaryVerboseLevel(G4int);
|
||||
G4int GetBoundaryVerboseLevel() const;
|
||||
void SetBoundaryInvokeSD(G4bool);
|
||||
G4bool GetBoundaryInvokeSD() const;
|
||||
|
||||
// absorption
|
||||
void SetAbsorptionVerboseLevel(G4int);
|
||||
G4int GetAbsorptionVerboseLevel() const;
|
||||
|
||||
// rayleigh
|
||||
void SetRayleighVerboseLevel(G4int);
|
||||
G4int GetRayleighVerboseLevel() const;
|
||||
|
||||
// mie
|
||||
void SetMieVerboseLevel(G4int);
|
||||
G4int GetMieVerboseLevel() const;
|
||||
|
||||
private:
|
||||
|
||||
G4OpticalParameters();
|
||||
void Initialise();
|
||||
G4bool IsLocked() const;
|
||||
void PrintWarning(G4ExceptionDescription& ed) const;
|
||||
static G4OpticalParameters* theInstance;
|
||||
|
||||
G4OpticalParametersMessenger* theMessenger;
|
||||
G4StateManager* fStateManager;
|
||||
|
||||
G4int verboseLevel;
|
||||
|
||||
// Whether to activate each process
|
||||
std::map<G4String, G4bool> processActivation;
|
||||
|
||||
// cerenkov/////////////////
|
||||
G4bool cerenkovStackPhotons;
|
||||
G4bool cerenkovTrackSecondariesFirst;
|
||||
G4int cerenkovVerboseLevel;
|
||||
G4int cerenkovMaxPhotons;
|
||||
G4double cerenkovMaxBetaChange;
|
||||
|
||||
// scintillation /////////////////
|
||||
G4double scintYieldFactor;
|
||||
|
||||
/// Note: this is to be removed in the next major release.
|
||||
/// Use material properties SCINTILLATIONYIELD1, 2, 3 instead
|
||||
G4double scintExcitationRatio;
|
||||
|
||||
/// option to set a finite rise-time; Note: the G4Scintillation
|
||||
/// process expects the user to have set the constant material
|
||||
/// property FAST/SLOWSCINTILLATIONRISETIME
|
||||
G4bool scintFiniteRiseTime;
|
||||
|
||||
/// option to allow for the light yield to be a function of
|
||||
/// particle type and deposited energy in case of non-linear
|
||||
/// light emission in scintillators
|
||||
G4bool scintByParticleType;
|
||||
|
||||
/// option to allow for G4ScintillationTrackInformation
|
||||
/// to be attached to a scintillation photon's track
|
||||
G4bool scintTrackInfo;
|
||||
|
||||
/// option to allow stacking of secondary Scintillation photons
|
||||
G4bool scintStackPhotons;
|
||||
|
||||
/// new in version 10.7; allow > 2 time constants, and > 1 time
|
||||
/// constant for scintillation by particle type
|
||||
G4bool scintEnhancedTimeConstants;
|
||||
|
||||
G4int scintVerboseLevel;
|
||||
G4bool scintTrackSecondariesFirst;
|
||||
|
||||
///////////////// WLS
|
||||
G4String wlsTimeProfileName;
|
||||
G4int wlsVerboseLevel;
|
||||
|
||||
///////////////// WLS2
|
||||
G4String wls2TimeProfileName;
|
||||
G4int wls2VerboseLevel;
|
||||
|
||||
//////////////// absorption
|
||||
G4int absorptionVerboseLevel;
|
||||
|
||||
//////////////// rayleigh
|
||||
G4int rayleighVerboseLevel;
|
||||
|
||||
//////////////// mie
|
||||
G4int mieVerboseLevel;
|
||||
|
||||
//////////////// boundary
|
||||
/// G4OpBoundaryProcess to call InvokeSD method
|
||||
G4bool boundaryInvokeSD;
|
||||
G4int boundaryVerboseLevel;
|
||||
|
||||
|
||||
#ifdef G4MULTITHREADED
|
||||
static G4Mutex opticalParametersMutex;
|
||||
#endif
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,174 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * License and Disclaimer *
|
||||
// * *
|
||||
// * The Geant4 software is copyright of the Copyright Holders of *
|
||||
// * the Geant4 Collaboration. It is provided under the terms and *
|
||||
// * conditions of the Geant4 Software License, included in the file *
|
||||
// * LICENSE and available at http://cern.ch/geant4/license . These *
|
||||
// * include a list of copyright holders. *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. Please see the license in the file LICENSE and URL above *
|
||||
// * for the full disclaimer and the limitation of liability. *
|
||||
// * *
|
||||
// * This code implementation is the result of the scientific and *
|
||||
// * technical work of the GEANT4 collaboration. *
|
||||
// * By using, copying, modifying or distributing the software (or *
|
||||
// * any work based on the software) you agree to acknowledge its *
|
||||
// * use in resulting scientific publications, and indicate your *
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName: G4OpticalPhysicsMessenger
|
||||
//
|
||||
// Author: P.Gumplinger 30.09.2009
|
||||
//
|
||||
// Modified: P.Gumplinger 29.09.2011
|
||||
// (based on code from I. Hrivnacova)
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
// This class defines commands for the optical physics
|
||||
//
|
||||
|
||||
#ifndef G4OpticalParametersMessenger_h
|
||||
#define G4OpticalParametersMessenger_h 1
|
||||
|
||||
#include "G4UImessenger.hh"
|
||||
//#include "G4OpticalProcessIndex.hh"
|
||||
|
||||
#include "globals.hh"
|
||||
|
||||
class G4VProcess;
|
||||
class G4OpticalParameters;
|
||||
|
||||
class G4UIdirectory;
|
||||
class G4UIcmdWithABool;
|
||||
class G4UIcmdWithADouble;
|
||||
class G4UIcmdWithAString;
|
||||
class G4UIcmdWithAnInteger;
|
||||
class G4UIcommand;
|
||||
|
||||
// Messenger class that defines commands for the optical physics
|
||||
|
||||
class G4OpticalParametersMessenger: public G4UImessenger
|
||||
{
|
||||
public:
|
||||
|
||||
G4OpticalParametersMessenger(G4OpticalParameters*);
|
||||
virtual ~G4OpticalParametersMessenger();
|
||||
|
||||
// methods
|
||||
virtual void SetNewValue(G4UIcommand*, G4String);
|
||||
|
||||
private:
|
||||
|
||||
G4OpticalParametersMessenger() = delete;
|
||||
G4OpticalParametersMessenger(const G4OpticalParametersMessenger& right) = delete;
|
||||
G4OpticalParametersMessenger& operator=(const G4OpticalParametersMessenger& right) = delete;
|
||||
|
||||
void Deprecated(void);
|
||||
|
||||
// data members
|
||||
|
||||
/// associated class
|
||||
G4OpticalParameters* params;
|
||||
|
||||
/// command directory
|
||||
G4UIdirectory* fDir;
|
||||
G4UIdirectory* fDir2;
|
||||
|
||||
/// selected optical process
|
||||
//G4OpticalProcessIndex fSelectedProcessIndex;
|
||||
|
||||
/// selectOpProcess command
|
||||
G4UIcommand* fActivateProcessCmd;
|
||||
|
||||
/// setProcessVerbose command
|
||||
G4UIcmdWithAnInteger* fVerboseCmd;
|
||||
|
||||
/// setTrackSecondariesFirst command
|
||||
G4UIcommand* fTrackSecondariesFirstCmd;
|
||||
|
||||
// Cerenkov
|
||||
|
||||
// setCerenkovMaxPhotons command
|
||||
G4UIcmdWithAnInteger* fCerenkovMaxPhotonsCmd;
|
||||
G4UIcmdWithAnInteger* fCerenkovMaxPhotons1Cmd;
|
||||
|
||||
/// setCerenkovMaxBetaChange command
|
||||
G4UIcmdWithADouble* fCerenkovMaxBetaChangeCmd;
|
||||
G4UIcmdWithADouble* fCerenkovMaxBetaChange1Cmd;
|
||||
|
||||
/// setStackPhotons command
|
||||
G4UIcmdWithABool* fCerenkovStackPhotonsCmd;
|
||||
G4UIcmdWithABool* fCerenkovStackPhotons1Cmd;
|
||||
|
||||
G4UIcmdWithABool* fCerenkovTrackSecondariesFirstCmd;
|
||||
G4UIcmdWithAnInteger* fCerenkovVerboseLevelCmd;
|
||||
|
||||
// Scintillation
|
||||
|
||||
// setScintillationYieldFactor command
|
||||
G4UIcmdWithADouble* fScintYieldFactorCmd;
|
||||
G4UIcmdWithADouble* fScintYieldFactor1Cmd;
|
||||
|
||||
/// setScintillationByParticleType command
|
||||
G4UIcmdWithABool* fScintByParticleTypeCmd;
|
||||
G4UIcmdWithABool* fScintByParticleType1Cmd;
|
||||
|
||||
/// setScintillationTrackInfo command
|
||||
G4UIcmdWithABool* fScintTrackInfoCmd;
|
||||
G4UIcmdWithABool* fScintTrackInfo1Cmd;
|
||||
|
||||
/// setStackPhotons command
|
||||
G4UIcmdWithABool* fScintStackPhotonsCmd;
|
||||
G4UIcmdWithABool* fScintStackPhotons1Cmd;
|
||||
|
||||
G4UIcmdWithADouble* fScintExcitationRatioCmd;
|
||||
|
||||
G4UIcmdWithABool* fScintTrackSecondariesFirstCmd;
|
||||
|
||||
/// setFiniteRiseTime command
|
||||
G4UIcmdWithABool* fScintFiniteRiseTimeCmd;
|
||||
G4UIcmdWithABool* fScintFiniteRiseTime1Cmd;
|
||||
|
||||
// setEnhancedTimeConstants commnad
|
||||
G4UIcmdWithABool* fScintEnhancedTimeConstantsCmd;
|
||||
|
||||
G4UIcmdWithAnInteger* fScintVerboseLevelCmd;
|
||||
|
||||
// WLS
|
||||
|
||||
/// setWLSTimeProfile command
|
||||
G4UIcmdWithAString* fWLSTimeProfileCmd;
|
||||
G4UIcmdWithAString* fWLSTimeProfile1Cmd;
|
||||
G4UIcmdWithAnInteger* fWLSVerboseLevelCmd;
|
||||
|
||||
// WLS2
|
||||
|
||||
/// setWLS2TimeProfile command
|
||||
G4UIcmdWithAString* fWLS2TimeProfileCmd;
|
||||
G4UIcmdWithAnInteger* fWLS2VerboseLevelCmd;
|
||||
|
||||
/// setInvokeSD command
|
||||
G4UIcmdWithABool* fBoundaryInvokeSDCmd;
|
||||
G4UIcmdWithABool* fBoundaryInvokeSD1Cmd;
|
||||
G4UIcmdWithAnInteger* fBoundaryVerboseLevelCmd;
|
||||
|
||||
G4UIcmdWithAnInteger* fAbsorptionVerboseLevelCmd;
|
||||
G4UIcmdWithAnInteger* fRayleighVerboseLevelCmd;
|
||||
G4UIcmdWithAnInteger* fMieVerboseLevelCmd;
|
||||
|
||||
G4UIcommand* fDumpCmd;
|
||||
};
|
||||
|
||||
#endif // G4OpticalParametersMessenger_h
|
||||
Executable → Regular
+2
-2
@@ -157,12 +157,12 @@ public:
|
||||
G4double& eLoss,
|
||||
G4int coupleIndex);
|
||||
|
||||
private:
|
||||
|
||||
// copy constructor and hide assignment operator
|
||||
G4VAtomDeexcitation(G4VAtomDeexcitation &) = delete;
|
||||
G4VAtomDeexcitation & operator=(const G4VAtomDeexcitation &right) = delete;
|
||||
|
||||
private:
|
||||
|
||||
G4EmParameters* theParameters;
|
||||
const G4ParticleDefinition* gamma;
|
||||
|
||||
|
||||
@@ -50,7 +50,6 @@
|
||||
#define G4VEmAngularDistribution_h 1
|
||||
|
||||
#include "globals.hh"
|
||||
#include "Randomize.hh"
|
||||
#include "G4ThreeVector.hh"
|
||||
#include "G4DynamicParticle.hh"
|
||||
|
||||
@@ -92,17 +91,18 @@ public:
|
||||
|
||||
inline const G4String& GetName() const;
|
||||
|
||||
protected:
|
||||
|
||||
G4ThreeVector fLocalDirection;
|
||||
|
||||
private:
|
||||
|
||||
// hide assignment operator
|
||||
G4VEmAngularDistribution &
|
||||
operator=(const G4VEmAngularDistribution &right) = delete;
|
||||
G4VEmAngularDistribution(const G4VEmAngularDistribution&) = delete;
|
||||
|
||||
protected:
|
||||
|
||||
G4ThreeVector fLocalDirection;
|
||||
G4bool fPolarisation;
|
||||
|
||||
private:
|
||||
|
||||
G4String fName;
|
||||
};
|
||||
|
||||
|
||||
@@ -55,7 +55,6 @@
|
||||
#ifndef G4VEmFluctuationModel_h
|
||||
#define G4VEmFluctuationModel_h 1
|
||||
|
||||
|
||||
#include "globals.hh"
|
||||
#include <CLHEP/Random/RandomEngine.h>
|
||||
|
||||
@@ -103,13 +102,13 @@ public:
|
||||
|
||||
inline const G4String& GetName() const;
|
||||
|
||||
private:
|
||||
|
||||
// hide assignment operator
|
||||
G4VEmFluctuationModel &
|
||||
operator=(const G4VEmFluctuationModel &right) = delete;
|
||||
G4VEmFluctuationModel(const G4VEmFluctuationModel&) = delete;
|
||||
|
||||
private:
|
||||
|
||||
const G4String name;
|
||||
G4LossTableManager* fManager;
|
||||
};
|
||||
|
||||
@@ -124,15 +124,15 @@ public:
|
||||
// Methods for initialisation of MT; may be overwritten if needed
|
||||
//------------------------------------------------------------------------
|
||||
|
||||
// initilisation in local thread
|
||||
// initialisation in local thread
|
||||
virtual void InitialiseLocal(const G4ParticleDefinition*,
|
||||
G4VEmModel* masterModel);
|
||||
|
||||
// initilisation of a new material at run time
|
||||
// initialisation of a new material at run time
|
||||
virtual void InitialiseForMaterial(const G4ParticleDefinition*,
|
||||
const G4Material*);
|
||||
|
||||
// initilisation of a new element at run time
|
||||
// initialisation of a new element at run time
|
||||
virtual void InitialiseForElement(const G4ParticleDefinition*,
|
||||
G4int Z);
|
||||
|
||||
@@ -211,7 +211,7 @@ public:
|
||||
virtual G4double MinEnergyCut(const G4ParticleDefinition*,
|
||||
const G4MaterialCutsCouple*);
|
||||
|
||||
// initilisation at run time for a given material
|
||||
// initialisation at run time for a given material
|
||||
virtual void SetupForMaterial(const G4ParticleDefinition*,
|
||||
const G4Material*,
|
||||
G4double kineticEnergy);
|
||||
@@ -393,6 +393,10 @@ public:
|
||||
|
||||
inline void SetLocked(G4bool);
|
||||
|
||||
// hide assignment operator
|
||||
G4VEmModel & operator=(const G4VEmModel &right) = delete;
|
||||
G4VEmModel(const G4VEmModel&) = delete;
|
||||
|
||||
protected:
|
||||
|
||||
inline const G4MaterialCutsCouple* CurrentCouple() const;
|
||||
@@ -401,10 +405,6 @@ protected:
|
||||
|
||||
private:
|
||||
|
||||
// hide assignment operator
|
||||
G4VEmModel & operator=(const G4VEmModel &right);
|
||||
G4VEmModel(const G4VEmModel&);
|
||||
|
||||
// ======== Parameters of the class fixed at construction =========
|
||||
|
||||
G4VEmFluctuationModel* flucModel;
|
||||
|
||||
@@ -138,7 +138,7 @@ public:
|
||||
// (return true if the Physics Table can be build by using file)
|
||||
// (return false if the process has no functionality or in case of failure)
|
||||
// File name should is constructed as processName+particleName and the
|
||||
// should be placed under the directory specifed by the argument.
|
||||
// should be placed under the directory specified by the argument.
|
||||
virtual G4bool RetrievePhysicsTable(const G4ParticleDefinition*,
|
||||
const G4String& directory,
|
||||
G4bool ascii) override;
|
||||
|
||||
@@ -84,6 +84,8 @@ public:
|
||||
|
||||
void InitialiseParameters(const G4ParticleDefinition*);
|
||||
|
||||
void DumpParameters(std::ostream& out) const;
|
||||
|
||||
// empty method
|
||||
void SampleSecondaries(std::vector<G4DynamicParticle*>*,
|
||||
const G4MaterialCutsCouple*,
|
||||
@@ -172,12 +174,12 @@ public:
|
||||
G4double kinEnergy,
|
||||
G4double logKinEnergy);
|
||||
|
||||
private:
|
||||
|
||||
// hide assignment operator
|
||||
G4VMscModel & operator=(const G4VMscModel &right) = delete;
|
||||
G4VMscModel(const G4VMscModel&) = delete;
|
||||
|
||||
private:
|
||||
|
||||
G4SafetyHelper* safetyHelper;
|
||||
G4VEnergyLossProcess* ionisation;
|
||||
const G4ParticleDefinition* currentPart;
|
||||
|
||||
@@ -136,7 +136,7 @@ public:
|
||||
// (return true if the Physics Table can be build by using file)
|
||||
// (return false if the process has no functionality or in case of failure)
|
||||
// File name should is constructed as processName+particleName and the
|
||||
// should be placed under the directory specifed by the argument.
|
||||
// should be placed under the directory specified by the argument.
|
||||
G4bool RetrievePhysicsTable(const G4ParticleDefinition*,
|
||||
const G4String& directory,
|
||||
G4bool ascii) override;
|
||||
|
||||
Reference in New Issue
Block a user