12 #include "G4ProcessManager.hh" 13 #include "G4ParticleTable.hh" 15 #include "G4Cerenkov.hh" 16 #include "G4Scintillation.hh" 17 #include "G4OpAbsorption.hh" 18 #include "G4OpRayleigh.hh" 19 #include "G4OpBoundaryProcess.hh" 22 : G4VPhysicsConstructor(name),
26 theAbsorptionProcess(),
27 theRayleighScattering(),
32 std::cout <<
"<LaserOpticalPhysicsList::LaserOpticalPhysicsList(...)> entering constructor ..." << std::endl;
39 std::cout <<
"<LaserOpticalPhysicsList::~LaserOpticalPhysicsList()> entering destructor ... " << std::endl;
40 std::cout <<
" deleting the processes ... ";
54 std::cout <<
"<LaserOpticalPhysicsList::ConstructParticle()>: constructing the optical photon ... " << std::endl;
57 G4OpticalPhoton::OpticalPhotonDefinition();
63 std::cout <<
"<LaserOpticalPhysicsList::ConstructProcess()>: constructing the physics ... " << std::endl;
76 G4ProcessManager * pManager =
nullptr;
78 pManager = G4OpticalPhoton::OpticalPhoton()->GetProcessManager();
89 G4ParticleTable* table = G4ParticleTable::GetParticleTable();
92 G4ParticleDefinition* particle = table->FindParticle(
particleName);
93 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