musrsim/geant4/LEMuSR/include/LEMuSRMuonPhysics.hh
2005-11-11 12:35:21 +00:00

97 lines
2.4 KiB
C++

// 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