10 #include "G4ProcessManager.hh"
12 #include "G4Cerenkov.hh"
13 #include "G4Scintillation.hh"
14 #include "G4OpAbsorption.hh"
15 #include "G4OpRayleigh.hh"
16 #include "G4OpBoundaryProcess.hh"
19 : G4VPhysicsConstructor(name),
23 theAbsorptionProcess(),
24 theRayleighScattering(),
29 std::cout <<
"<LaserOpticalPhysicsList::LaserOpticalPhysicsList(...)> entering constructor ..." << std::endl;
36 std::cout <<
"<LaserOpticalPhysicsList::~LaserOpticalPhysicsList()> entering destructor ... " << std::endl;
37 std::cout <<
" deleting the processes ... ";
52 std::cout <<
"<LaserOpticalPhysicsList::ConstructParticle()>: constructing the optical photon ... " << std::endl;
55 G4OpticalPhoton::OpticalPhotonDefinition();
61 std::cout <<
"<LaserOpticalPhysicsList::ConstructProcess()>: constructing the physics ... " << std::endl;
74 G4ProcessManager * pManager = 0;
76 pManager = G4OpticalPhoton::OpticalPhoton()->GetProcessManager();
87 aParticleIterator->reset();
88 while( (*aParticleIterator)() )
90 G4ParticleDefinition* particle = aParticleIterator->value();
91 pManager = particle->GetProcessManager();
virtual void ConstructProcess()
construct Optical Processes
virtual void ConstructParticle()
construct Optical Photons
virtual ~LaserOpticalPhysicsList()
destructor
G4OpRayleigh * theRayleighScattering
LaserOpticalPhysicsList(const G4String &name="optical")
constructor
G4OpBoundaryProcess * theBoundaryProcess
G4Scintillation * theScintProcess
volatile std::atomic< bool > shutdown_flag false
G4OpAbsorption * theAbsorptionProcess