44 lines
1.1 KiB
C++
44 lines
1.1 KiB
C++
// G4LeptonHadronProcess.hh
|
|
//
|
|
// M.Takahata (Makoto.Takahata@cern.ch)
|
|
|
|
#ifndef G4LeptonHadronProcess_h
|
|
#define G4LeptonHadronProcess_h 1
|
|
|
|
#include "globals.hh"
|
|
#include "G4VDiscreteProcess.hh"
|
|
#include "G4Nucleus.hh"
|
|
#include "G4Track.hh"
|
|
#include "G4Step.hh"
|
|
#include "G4ParticleChange.hh"
|
|
#include "G4LeptonHadronInteractionModel.hh"
|
|
|
|
|
|
class G4LeptonHadronProcess : public G4VDiscreteProcess
|
|
{
|
|
public:
|
|
|
|
G4LeptonHadronProcess(const G4String &processName = "LeptonHadron");
|
|
~G4LeptonHadronProcess();
|
|
|
|
G4VParticleChange *PostStepDoIt( const G4Track &leptonTrack,
|
|
const G4Step &aStep )
|
|
{
|
|
return G4LeptonHadronProcess::GeneralPostStepDoIt(leptonTrack, aStep);
|
|
}
|
|
|
|
G4VParticleChange *GeneralPostStepDoIt( const G4Track &leptonTrack,
|
|
const G4Step &aStep );
|
|
|
|
virtual G4LeptonHadronInteractionModel *chooseInteractionModel() = 0;
|
|
|
|
|
|
protected:
|
|
|
|
G4LeptonHadronInteractionModel* theInteractionModel;
|
|
G4Nucleus targetNucleus;
|
|
|
|
};
|
|
|
|
#endif
|