//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ // LOW ENERGY MUON SPIN RELAXATION, ROTATION, RADIATION // // ID : LEMuSRMuonPhysics.hh , v 1.3 // AUTHOR: Taofiq PARAISO // DATE : 2006-01-19 16:15 //$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ // // & &&&&&&&&&& &&&&&&& &&&&&&&& // & & && && & && // & & & & & & && // & &&&&&&& & & &&&&&& &&&&&&&& // & & & && & & && // & & && & & && && & & // &&&&&&&&&& &&&&&&&&&& & &&&&& && &&&&&&& & && // & // & // & // & // MuonPhysics //$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ #ifndef LEMuSRMuonPhysics_h #define LEMuSRMuonPhysics_h 1 #include "globals.hh" #include "G4ios.hh" #include "G4VPhysicsConstructor.hh" #include "G4MultipleScattering.hh" #include "G4MultipleScattering52.hh" #include "LEMuSRMSC.hh" #include "G4MuBremsstrahlung.hh" #include "G4MuPairProduction.hh" #include "G4MuIonisation.hh" #include "G4hIonisation.hh" #include "G4MuonMinusCaptureAtRest.hh" #include "G4DecayWithSpin.hh" #include "G4MuonDecayChannel.hh" #include "G4MuonDecayChannelWithSpin.hh" #include "LEMuSRAtRestSpinRotation.hh" #include "LEMuSRDecay.hh" #include "LEMuSRMUONIUM.hh" #include "LEMuSRDepolarize.hh" #include "LEMuSRMUONIUMScatt.hh" #include"G4VMuEnergyLoss.hh" /*! * This class defines the interations and processes to take into account when * simulating muon particles. It is registered by the main LEMuSRPhysicsList * class. */ class LEMuSRMuonPhysics : public G4VPhysicsConstructor { public: //!\ct LEMuSRMuonPhysics(const G4String& name="muon"); //!\dt virtual ~LEMuSRMuonPhysics(); public: /*! This method will be invoked in the Construct() method. each particle type will be instantiated.*/ virtual void ConstructParticle(); /*! This method will be invoked in the Construct() method. each physics process will be instantiated and registered to the process manager of each particle type.*/ virtual void ConstructProcess(); protected: //! MuonPlus physics G4MuIonisation fMuPlusIonisation; //! Multiple Scattering including Meyer'Algorithm: LEMuSRMSC LEMuSRMSC fMuPlusMultipleScattering; G4MuBremsstrahlung fMuPlusBremsstrahlung ; G4MuPairProduction fMuPlusPairProduction; //! Muonium scattering: LEMuSRMUONIUMScatt LEMuSRMUONIUMScatt fMuoniumScatt; //! Muonium formation: LEMuSRMUONIUM LEMuSRMUONIUM fMuFormation; //! Depolarization process (not used yet) LEMuSRDepolarize fDepolarization; //! MuonMinus physics G4MuIonisation fMuMinusIonisation; G4MultipleScattering fMuMinusMultipleScattering; G4MuBremsstrahlung fMuMinusBremsstrahlung ; G4MuPairProduction fMuMinusPairProduction; G4MuonMinusCaptureAtRest fMuMinusCaptureAtRest; //! Decay Process from \lemu: LEMuSRDecay #ifdef ASYM_USE_LEMU LEMuSRDecay fDecayProcess; #else //! Decay Process from \gf G4Decay fDecayProcess; //! Decay Process with Spin from \gf G4DecayWithSpin fSDecayProcess; #endif //! Spin Precession Process At Rest: LEMuSRAtRestSpinRotation LEMuSRAtRestSpinRotation fMuAtRestSpinRotation; //! Tau physics G4MultipleScattering fTauPlusMultipleScattering; G4hIonisation fTauPlusIonisation; G4MultipleScattering fTauMinusMultipleScattering; G4hIonisation fTauMinusIonisation; }; #endif