Go to the documentation of this file.00001
00002 #ifndef DummyChargeFlipProcess_h
00003 #define DummyChargeFlipProcess_h 1
00004
00005 #include "globals.hh"
00006 #include "G4HadronicProcess.hh"
00007 #include "G4CrossSectionDataStore.hh"
00008 #include "G4HadronElasticDataSet.hh"
00009 #include "G4Element.hh"
00010 #include "G4ElementVector.hh"
00011 #include "G4VDiscreteProcess.hh"
00012 #include "G4LightMedia.hh"
00013 #include "G4Step.hh"
00014 #include "G4TrackStatus.hh"
00015
00016 #include <iostream>
00017
00018 class DummyChargeFlipProcess : public G4HadronicProcess
00019 {
00020 public:
00021
00022 DummyChargeFlipProcess(const G4String& processName = "Dummy");
00023
00024 ~DummyChargeFlipProcess();
00025
00026 G4VParticleChange* PostStepDoIt(const G4Track& aTrack, const G4Step& aStep);
00027
00028
00029 G4bool IsApplicable(const G4ParticleDefinition& aParticleType);
00030
00031 void BuildPhysicsTable(const G4ParticleDefinition& aParticleType);
00032
00033 void DumpPhysicsTable(const G4ParticleDefinition& aParticleType);
00034
00035 private:
00036
00037 G4double GetMicroscopicCrossSection(const G4DynamicParticle* aParticle,
00038 const G4Element* anElement,
00039 G4double aTemp);
00040
00041 };
00042 #endif