52 #ifndef G4PAIPhotonModel_h
53 #define G4PAIPhotonModel_h 1
167 std::vector<G4PhysicsTable*> fPAIxscBank;
170 std::vector<G4PhysicsTable*> fPAIphotonBank;
173 std::vector<G4PhysicsTable*> fPAIplasmonBank;
176 std::vector<G4PhysicsTable*> fPAIdEdxBank;
178 std::vector<const G4MaterialCutsCouple*> fMaterialCutsCoupleVector;
179 std::vector<const G4Region*> fPAIRegionVector;
183 G4int fSandiaIntervalNumber ;
188 std::vector<G4PhysicsLogVector*> fdEdxTable ;
191 std::vector<G4PhysicsLogVector*> fLambdaTable ;
194 std::vector<G4PhysicsLogVector*> fdNdxCutTable ;
197 std::vector<G4PhysicsLogVector*> fdNdxCutPhotonTable ;
200 std::vector<G4PhysicsLogVector*> fdNdxCutPlasmonTable ;
G4double TestSecondaries(G4MaterialCutsCouple *, G4DynamicParticle *, G4double tmin, G4double maxEnergy)
G4double GetdEdxCut(G4int iPlace, G4double transferCut)
void ComputeSandiaPhotoAbsCof()
G4double GetXscPerVolume(const G4Material *, const G4ParticleDefinition *, G4double kineticEnergy, G4double photonCut, G4double cutEnergy, G4double maxEnergy)
void DefineForRegion(const G4Region *r)
G4double GetEnergyTransfer(G4PhysicsTable *, G4int iPlace, G4double position, G4int iTransfer)
virtual G4double ComputeDEDXPerVolume(const G4Material *, const G4ParticleDefinition *, G4double kineticEnergy, G4double cutEnergy)
G4double GetdNdxPlasmonCut(G4int iPlace, G4double transferCut)
virtual void SampleSecondaries(std::vector< G4DynamicParticle * > *, const G4MaterialCutsCouple *, const G4DynamicParticle *, G4double tmin, G4double maxEnergy)
void BuildLambdaVector(const G4MaterialCutsCouple *matCutsCouple)
virtual G4double CrossSectionPerVolume(const G4Material *, const G4ParticleDefinition *, G4double kineticEnergy, G4double cutEnergy, G4double maxEnergy)
void BuildPAIonisationTable()
virtual void InitTest(const G4ParticleDefinition *, G4MaterialCutsCouple *, G4double, G4double)
G4double GetdNdxPhotonCut(G4int iPlace, G4double transferCut)
G4double MaxSecondaryEnergy(const G4ParticleDefinition *, G4double kinEnergy)
virtual G4double SampleFluctuations(const G4MaterialCutsCouple *, const G4DynamicParticle *, G4double, G4double, G4double)
G4double GetAlongStepTransfer(G4PhysicsTable *, G4PhysicsLogVector *, G4int iPlace, G4double scaledTkin, G4double step, G4double cof)
virtual G4double Dispersion(const G4Material *, const G4DynamicParticle *, G4double, G4double)
virtual ~G4PAIPhotonModel()
virtual void Initialise(const G4ParticleDefinition *, const G4DataVector &)
G4double GetdNdxCut(G4int iPlace, G4double transferCut)
virtual void InitialiseMe(const G4ParticleDefinition *)
G4PAIPhotonModel(const G4ParticleDefinition *p=0, const G4String &nam="PAIPhoton")
G4double GetPostStepTransfer(G4PhysicsTable *, G4PhysicsLogVector *, G4int iPlace, G4double scaledTkin)