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