|
DD4hep
1.30.0
Detector Description Toolkit for High Energy Physics
|
Go to the documentation of this file.
24 #ifndef DDG4_GEANT4SCINTILLATIONPHYSICS_H
25 #define DDG4_GEANT4SCINTILLATIONPHYSICS_H 1
31 #include <G4Version.hh>
32 #include <G4ParticleTableIterator.hh>
33 #include <G4ParticleDefinition.hh>
34 #include <G4LossTableManager.hh>
35 #include <G4ProcessManager.hh>
36 #include <G4ParticleTypes.hh>
37 #include <G4ParticleTable.hh>
38 #include <G4EmSaturation.hh>
39 #include <G4Threading.hh>
41 #if G4VERSION_NUMBER >= 1070
42 #include <G4OpticalParameters.hh>
45 #if G4VERSION_NUMBER == 110000
46 #include <G4OpticalParameters.hh>
47 #pragma message("Geant4 version 11 beta: temporary fix to be removed!")
48 void G4OpticalParameters::SetScintExcitationRatio(
double) {}
49 void G4OpticalParameters::SetScintYieldFactor(
double) {}
54 #include <G4Scintillation.hh>
98 info(
"+++ Constructing: yield:%f excitation:%f finite rise-time:%s "
99 "stack photons:%s track secondaries:%s",
103 G4Scintillation* process =
new G4Scintillation(
name());
104 #if G4VERSION_NUMBER >= 1070
105 G4OpticalParameters* params = G4OpticalParameters::Instance();
106 #if G4VERSION_NUMBER >= 1100
126 #if G4VERSION_NUMBER >= 1030
130 #if G4VERSION_NUMBER == 110000
137 #if G4VERSION_NUMBER >= 940
140 #if G4VERSION_NUMBER >= 1030
145 if ( G4Threading::IsMasterThread() ) {
146 G4EmSaturation* emSaturation =
147 G4LossTableManager::Instance()->EmSaturation();
148 process->AddSaturation(emSaturation);
151 auto pit = G4ParticleTable::GetParticleTable()->GetIterator();
154 G4ParticleDefinition* particle = pit->value();
155 if (process->IsApplicable(*particle)) {
156 G4ProcessManager* pmanager = particle->GetProcessManager();
157 pmanager->AddProcess(process);
158 pmanager->SetProcessOrdering(process,idxPostStep);
197 #endif // DDG4_GEANT4SCINTILLATIONPHYSICS_H
double m_scintillationExcitationRatio
G4 11 beta, then disappeared....
bool m_ScintEnhancedTimeConstants
G4OpticalParameters: "ScintEnhancedTimeConstants".
std::string m_WLSTimeProfile
G4OpticalParameters: "WLSTimeProfile".
virtual void constructProcesses(G4VUserPhysicsList *physics_list)
Callback to construct processes (uses the G4 particle table)
Geant4ScintillationPhysics(Geant4Context *ctxt, const std::string &nam)
Initializing constructor.
Geant4ScintillationPhysics()=delete
Default constructor.
#define DECLARE_GEANT4ACTION(name)
Plugin defintion to create Geant4Action objects.
void info(const char *fmt,...) const
Support of info messages.
bool m_boundaryInvokeSD
G4OpticalParameters: "BoundaryInvokeSD".
Geant4Action & declareProperty(const std::string &nam, T &val)
Declare property.
const std::string & name() const
Access name of the action.
std::string m_WLS2TimeProfile
G4OpticalParameters: "WLS2TimeProfile";.
double m_CerenkovMaxBetaChange
G4OpticalParameters: "CerenkovMaxBetaChange".
int m_verbosity
G4OpticalParameters: "VerboseLevel".
Concrete basic implementation of a Geant4 physics list action.
Namespace for the Geant4 based simulation part of the AIDA detector description toolkit.
virtual void constructProcesses(G4VUserPhysicsList *physics)
Callback to construct processes (uses the G4 particle table)
bool m_finiteRiseTime
G4OpticalParameters: "ScintFiniteRiseTime".
double m_scintillationYieldFactor
G4 11 beta, then disappeared....
Namespace for the AIDA detector description toolkit.
bool m_byParticleType
G4OpticalParameters: "ScintByParticleType".
int m_CerenkovMaxPhotonsPerStep
G4OpticalParameters: "CerenkovMaxPhotonsPerStep".
bool m_trackSecondariesFirst
G4OpticalParameters: "ScintTrackSecondariesFirst".
virtual ~Geant4ScintillationPhysics()=default
Default destructor.
bool m_stackPhotons
G4OpticalParameters: "CerenkovStackPhotons".
bool m_trackInfo
G4OpticalParameters: "ScintTrackInfo".
PhysicsConstructor for Scintillation physics.
Generic context to extend user, run and event information.
Geant4ScintillationPhysics(const Geant4ScintillationPhysics &)=delete
Copy constructor.