12 #include "G4ParticleTable.hh"
13 #include "G4ProcessManager.hh"
15 #include "G4Cerenkov.hh"
16 #include "G4OpAbsorption.hh"
17 #include "G4OpBoundaryProcess.hh"
18 #include "G4OpRayleigh.hh"
19 #include "G4Scintillation.hh"
22 : G4VPhysicsConstructor(name),
26 theAbsorptionProcess(),
27 theRayleighScattering(),
31 std::cout <<
"<LaserOpticalPhysicsList::LaserOpticalPhysicsList(...)> "
32 "entering constructor ..."
37 if (verboseLevel > 0) {
38 std::cout <<
"<LaserOpticalPhysicsList::~LaserOpticalPhysicsList()> "
39 "entering destructor ... "
41 std::cout <<
" deleting the processes ... ";
59 G4cout <<
" done " << G4endl;
64 G4cout <<
"<LaserOpticalPhysicsList::ConstructParticle()>: constructing "
65 "the optical photon ... "
69 G4OpticalPhoton::OpticalPhotonDefinition();
74 G4cout <<
"<LaserOpticalPhysicsList::ConstructProcess()>: constructing "
88 G4ProcessManager *pManager =
nullptr;
90 pManager = G4OpticalPhoton::OpticalPhoton()->GetProcessManager();
99 G4ParticleTable *
table = G4ParticleTable::GetParticleTable();
101 for (
const auto &particleName : emList.
PartNames()) {
102 G4ParticleDefinition *particle = table->FindParticle(particleName);
103 pManager = particle->GetProcessManager();
const std::vector< G4String > & PartNames() const
~LaserOpticalPhysicsList() override
destructor
void ConstructParticle() override
construct Optical Photons
G4OpRayleigh * theRayleighScattering
LaserOpticalPhysicsList(const G4String &name="optical")
constructor
G4OpBoundaryProcess * theBoundaryProcess
G4Scintillation * theScintProcess
void ConstructProcess() override
construct Optical Processes
G4OpAbsorption * theAbsorptionProcess