00001 #ifndef LaserAlignmentSimulation_LaserOpticalPhysicsList_H 00002 #define LaserAlignmentSimulation_LaserOpticalPhysicsList_H 00003 00012 // G4 includes 00013 #include "G4VPhysicsConstructor.hh" 00014 00015 #include "G4OpWLS.hh" 00016 00017 class G4Cerenkov; 00018 class G4Scintillation; 00019 class G4OpAbsorption; 00020 class G4OpRayleigh; 00021 class G4OpBoundaryProcess; 00022 00023 class LaserOpticalPhysicsList : public G4VPhysicsConstructor 00024 { 00025 public: 00027 LaserOpticalPhysicsList(const G4String& name="optical"); 00029 virtual ~LaserOpticalPhysicsList(); 00030 00031 public: 00033 virtual void ConstructParticle(); 00035 virtual void ConstructProcess(); 00036 00037 protected: 00038 G4bool wasActivated; 00039 00040 G4Scintillation* theScintProcess; 00041 G4Cerenkov* theCerenkovProcess; 00042 G4OpAbsorption* theAbsorptionProcess; 00043 G4OpRayleigh* theRayleighScattering; 00044 G4OpBoundaryProcess* theBoundaryProcess; 00045 G4OpWLS* theWLSProcess; 00046 }; 00047 #endif