Changeset 962 for trunk/source/processes/hadronic/models/photolepton_hadron/muon_nuclear/include/G4MuNuclearInteraction.hh
- Timestamp:
- Apr 6, 2009, 12:30:29 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/processes/hadronic/models/photolepton_hadron/muon_nuclear/include/G4MuNuclearInteraction.hh
r819 r962 25 25 // 26 26 // 27 // $Id: G4MuNuclearInteraction.hh,v 1. 4 2006/06/29 20:57:20 gunterExp $28 // GEANT4 tag $Name: $27 // $Id: G4MuNuclearInteraction.hh,v 1.6 2008/10/02 21:04:35 dennis Exp $ 28 // GEANT4 tag $Name: geant4-09-02-ref-02 $ 29 29 // 30 30 // $Id: … … 55 55 #include "G4PhysicsLogVector.hh" 56 56 #include "G4ParametrizedHadronicVertex.hh" 57 #include "G4HadronicProcessType.hh" 57 58 58 59 class G4MuNuclearInteraction : public G4VDiscreteProcess 59 60 60 61 { 61 62 public: 62 63 63 64 G4MuNuclearInteraction(const G4String& processName = "muNuclear"); 64 65 65 66 virtual ~G4MuNuclearInteraction(); 66 67 67 68 virtual G4bool IsApplicable(const G4ParticleDefinition&); 68 69 69 70 void SetPhysicsTableBining(G4double lowE, G4double highE, G4int nBins); 70 71 71 void BuildPhysicsTable(const G4ParticleDefinition& ParticleType);72 virtual void PreparePhysicsTable(const G4ParticleDefinition& ParticleType); 72 73 73 void PrintInfoDefinition();74 virtual void BuildPhysicsTable(const G4ParticleDefinition& ParticleType); 74 75 75 G4double GetMeanFreePath(const G4Track& track, 76 G4double previousStepSize, 77 G4ForceCondition* condition ) ; 76 virtual void PrintInfoDefinition() ; 77 78 virtual G4double GetMeanFreePath(const G4Track& track, 79 G4double previousStepSize, 80 G4ForceCondition* condition ) ; 78 81 79 80 82 virtual G4VParticleChange *PostStepDoIt(const G4Track& track, 83 const G4Step& Step ) ; 81 84 82 85 protected: 83 86 84 85 86 87 virtual G4double ComputeMeanFreePath( const G4ParticleDefinition* ParticleType, 88 G4double KineticEnergy, 89 const G4Material* aMaterial); 87 90 88 89 90 91 void ComputePartialSumSigma( const G4ParticleDefinition* ParticleType, 92 G4double KineticEnergy, 93 const G4Material* aMaterial); 91 94 92 93 94 95 96 95 virtual G4double ComputeMicroscopicCrossSection( 96 const G4ParticleDefinition* ParticleType, 97 G4double KineticEnergy, 98 G4double AtomicNumber, 99 G4double AtomicMass); 97 100 98 99 100 101 102 103 101 virtual G4double ComputeDMicroscopicCrossSection( 102 const G4ParticleDefinition* ParticleType, 103 G4double KineticEnergy, 104 G4double AtomicNumber, 105 G4double AtomicMass, 106 G4double epsilon); 104 107 105 108 private: 106 109 107 108 110 G4MuNuclearInteraction & operator=(const G4MuNuclearInteraction &right); 111 G4MuNuclearInteraction(const G4MuNuclearInteraction&); 109 112 110 113 G4Element* SelectRandomAtom(G4Material* aMaterial) const; 111 114 112 115 void MakeSamplingTables( const G4ParticleDefinition* ParticleType ); 113 116 114 117 private: 115 118 116 117 119 G4PhysicsTable* theMeanFreePathTable; 120 G4PhysicsTable* theCrossSectionTable ; 118 121 119 122 G4OrderedTable PartialSumSigma; 120 123 121 122 123 124 G4double LowestKineticEnergy; 125 G4double HighestKineticEnergy; 126 G4int TotBin; 124 127 125 126 127 128 128 //cut from R.P. Kokoulin 129 const G4double CutFixed ; 130 // for the atomic weight conversion 131 G4double GramPerMole ; 129 132 130 131 132 133 const G4MuonMinus* theMuonMinus; 134 const G4MuonPlus* theMuonPlus; 135 const G4PionZero* thePionZero; 133 136 134 135 136 137 137 // tables for sampling .............. 138 static G4int nzdat,ntdat,NBIN ; 139 static G4double zdat[5],adat[5],tdat[8] ; 140 static G4double ya[1001],proba[5][8][1001] ; 138 141 139 // for the hadronic final state; use base cass * in next release 140 G4ParametrizedHadronicVertex theHadronicVertex; 142 G4ParametrizedHadronicVertex theHadronicVertex; 141 143 }; 142 144
Note: See TracChangeset
for help on using the changeset viewer.