// History // first version 12 Nov. 2000 by H.Kurashige // ------------------------------------------------------------ #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" class LEMuSRMuonPhysics : public G4VPhysicsConstructor { public: LEMuSRMuonPhysics(const G4String& name="muon"); 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: // Muon physics G4MuIonisation fMuPlusIonisation; G4MultipleScattering fMuoniumMultipleScattering; LEMuSRMSC fMuPlusMultipleScattering; G4MuBremsstrahlung fMuPlusBremsstrahlung ; G4MuPairProduction fMuPlusPairProduction; LEMuSRMUONIUMScatt fMuoniumScatt; LEMuSRMUONIUM fMuFormation; LEMuSRDepolarize fDepolarization; G4MuIonisation fMuMinusIonisation; G4MultipleScattering fMuMinusMultipleScattering; G4MuBremsstrahlung fMuMinusBremsstrahlung ; G4MuPairProduction fMuMinusPairProduction; G4MuonMinusCaptureAtRest fMuMinusCaptureAtRest; #ifdef ASYM_USE_LEMU LEMuSRDecay fDecayProcess; #else G4Decay fDecayProcess; G4DecayWithSpin fSDecayProcess; #endif LEMuSRAtRestSpinRotation fMuAtRestSpinRotation; // Tau physics G4MultipleScattering fTauPlusMultipleScattering; G4hIonisation fTauPlusIonisation; G4MultipleScattering fTauMinusMultipleScattering; G4hIonisation fTauMinusIonisation; }; #endif