Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 11:56:27

0001 #ifndef LaserAlignmentSimulation_LaserOpticalPhysicsList_H
0002 #define LaserAlignmentSimulation_LaserOpticalPhysicsList_H
0003 
0004 /** \class LaserOpticalPhysicsList
0005  *  Define the Optical processes for the Simulation of the Laser Alignment
0006  * System
0007  *
0008  *  $Date: 2007/06/11 14:44:28 $
0009  *  $Revision: 1.3 $
0010  *  \author Maarten Thomas
0011  */
0012 
0013 // G4 includes
0014 #include "G4VPhysicsConstructor.hh"
0015 
0016 #include "G4OpWLS.hh"
0017 
0018 class G4Cerenkov;
0019 class G4Scintillation;
0020 class G4OpAbsorption;
0021 class G4OpRayleigh;
0022 class G4OpBoundaryProcess;
0023 
0024 class LaserOpticalPhysicsList : public G4VPhysicsConstructor {
0025 public:
0026   /// constructor
0027   LaserOpticalPhysicsList(const G4String &name = "optical");
0028   /// destructor
0029   ~LaserOpticalPhysicsList() override;
0030 
0031 public:
0032   /// construct Optical Photons
0033   void ConstructParticle() override;
0034   /// construct Optical Processes
0035   void ConstructProcess() override;
0036 
0037 protected:
0038   G4bool wasActivated;
0039 
0040   G4Scintillation *theScintProcess;
0041   G4Cerenkov *theCerenkovProcess;
0042   G4OpAbsorption *theAbsorptionProcess;
0043   G4OpRayleigh *theRayleighScattering;
0044   G4OpBoundaryProcess *theBoundaryProcess;
0045   G4OpWLS *theWLSProcess;
0046 };
0047 #endif