81 lines
2.3 KiB
C++
81 lines
2.3 KiB
C++
// -------------------------------------------
|
|
// History
|
|
// first version 12 Nov. 2000 by H.Kurashige
|
|
// ------------------------------------------------------------
|
|
#ifndef LEMuSRIonPhysics_h
|
|
#define LEMuSRIonPhysics_h 1
|
|
|
|
#include "globals.hh"
|
|
#include "G4ios.hh"
|
|
|
|
#include "G4VPhysicsConstructor.hh"
|
|
|
|
#include "G4HadronElasticProcess.hh"
|
|
#include "G4LElastic.hh"
|
|
|
|
#include "G4DeuteronInelasticProcess.hh"
|
|
#include "G4LEDeuteronInelastic.hh"
|
|
|
|
#include "G4TritonInelasticProcess.hh"
|
|
#include "G4LETritonInelastic.hh"
|
|
|
|
#include "G4AlphaInelasticProcess.hh"
|
|
#include "G4LEAlphaInelastic.hh"
|
|
|
|
#include "G4hIonisation.hh"
|
|
#include "G4ionIonisation.hh"
|
|
#include "G4MultipleScattering.hh"
|
|
|
|
class LEMuSRIonPhysics : public G4VPhysicsConstructor
|
|
{
|
|
public:
|
|
LEMuSRIonPhysics(const G4String& name="ion");
|
|
virtual ~LEMuSRIonPhysics();
|
|
|
|
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:
|
|
// Elastic Process
|
|
G4HadronElasticProcess theElasticProcess;
|
|
G4LElastic* theElasticModel;
|
|
|
|
// Generic Ion physics
|
|
G4MultipleScattering fIonMultipleScattering;
|
|
G4ionIonisation fIonIonisation;
|
|
|
|
// Deuteron physics
|
|
G4MultipleScattering fDeuteronMultipleScattering;
|
|
G4hIonisation fDeuteronIonisation;
|
|
G4DeuteronInelasticProcess fDeuteronProcess;
|
|
G4LEDeuteronInelastic* fDeuteronModel;
|
|
|
|
// Triton physics
|
|
G4MultipleScattering fTritonMultipleScattering;
|
|
G4hIonisation fTritonIonisation;
|
|
G4TritonInelasticProcess fTritonProcess;
|
|
G4LETritonInelastic* fTritonModel;
|
|
|
|
// Alpha physics
|
|
G4MultipleScattering fAlphaMultipleScattering;
|
|
G4hIonisation fAlphaIonisation;
|
|
G4AlphaInelasticProcess fAlphaProcess;
|
|
G4LEAlphaInelastic* fAlphaModel;
|
|
|
|
// He3 physics
|
|
G4MultipleScattering fHe3MultipleScattering;
|
|
G4hIonisation fHe3Ionisation;
|
|
|
|
};
|
|
|
|
|
|
#endif
|
|
|