52 #ifndef G4PAIPhotonModel_h
53 #define G4PAIPhotonModel_h 1
G4int fSandiaIntervalNumber
G4double TestSecondaries(G4MaterialCutsCouple *, G4DynamicParticle *, G4double tmin, G4double maxEnergy)
G4double GetdEdxCut(G4int iPlace, G4double transferCut)
G4double ** fSandiaPhotoAbsCof
std::vector< G4PhysicsTable * > fPAIdEdxBank
std::vector< G4PhysicsTable * > fPAIplasmonBank
const G4ParticleDefinition * fPositron
G4PhysicsLogVector * fdNdxCutVector
void ComputeSandiaPhotoAbsCof()
G4PhysicsLogVector * fLambdaVector
G4double GetXscPerVolume(const G4Material *, const G4ParticleDefinition *, G4double kineticEnergy, G4double photonCut, G4double cutEnergy, G4double maxEnergy)
void DefineForRegion(const G4Region *r)
const G4Material * fMaterial
std::vector< G4PhysicsTable * > fPAIxscBank
G4double GetEnergyTransfer(G4PhysicsTable *, G4int iPlace, G4double position, G4int iTransfer)
virtual G4double ComputeDEDXPerVolume(const G4Material *, const G4ParticleDefinition *, G4double kineticEnergy, G4double cutEnergy)
G4PhysicsTable * fPAIphotonTable
std::vector< G4PhysicsTable * > fPAIphotonBank
G4double GetdNdxPlasmonCut(G4int iPlace, G4double transferCut)
std::vector< G4PhysicsLogVector * > fdNdxCutPlasmonTable
virtual void SampleSecondaries(std::vector< G4DynamicParticle * > *, const G4MaterialCutsCouple *, const G4DynamicParticle *, G4double tmin, G4double maxEnergy)
std::vector< G4PhysicsLogVector * > fLambdaTable
std::vector< G4PhysicsLogVector * > fdNdxCutTable
void BuildLambdaVector(const G4MaterialCutsCouple *matCutsCouple)
G4PhysicsTable * fPAIplasmonTable
virtual G4double CrossSectionPerVolume(const G4Material *, const G4ParticleDefinition *, G4double kineticEnergy, G4double cutEnergy, G4double maxEnergy)
void BuildPAIonisationTable()
void SetParticle(const G4ParticleDefinition *p)
virtual void InitTest(const G4ParticleDefinition *, G4MaterialCutsCouple *, G4double, G4double)
G4PhysicsTable * fPAIdEdxTable
G4double GetdNdxPhotonCut(G4int iPlace, G4double transferCut)
G4double MaxSecondaryEnergy(const G4ParticleDefinition *, G4double kinEnergy)
G4PhysicsLogVector * fProtonEnergyVector
virtual G4double SampleFluctuations(const G4MaterialCutsCouple *, const G4DynamicParticle *, G4double, G4double, G4double)
G4double GetAlongStepTransfer(G4PhysicsTable *, G4PhysicsLogVector *, G4int iPlace, G4double scaledTkin, G4double step, G4double cof)
const G4ParticleDefinition * fElectron
std::vector< G4PhysicsLogVector * > fdEdxTable
std::vector< const G4MaterialCutsCouple * > fMaterialCutsCoupleVector
virtual G4double Dispersion(const G4Material *, const G4DynamicParticle *, G4double, G4double)
const G4ParticleDefinition * fParticle
G4PhysicsLogVector * fdNdxCutPhotonVector
virtual ~G4PAIPhotonModel()
std::vector< G4PhysicsLogVector * > fdNdxCutPhotonTable
const G4MaterialCutsCouple * fCutCouple
virtual void Initialise(const G4ParticleDefinition *, const G4DataVector &)
G4PAIxSection fPAIxSection
G4double GetdNdxCut(G4int iPlace, G4double transferCut)
G4double fLowestKineticEnergy
virtual void InitialiseMe(const G4ParticleDefinition *)
const G4ParticleDefinition * fGamma
G4PhysicsLogVector * fdEdxVector
G4PhysicsTable * fPAItransferTable
G4PAIPhotonModel(const G4ParticleDefinition *p=0, const G4String &nam="PAIPhoton")
std::vector< const G4Region * > fPAIRegionVector
G4PAIPhotonModel & operator=(const G4PAIPhotonModel &right)
G4PhysicsLogVector * fdNdxCutPlasmonVector
G4double GetPostStepTransfer(G4PhysicsTable *, G4PhysicsLogVector *, G4int iPlace, G4double scaledTkin)
G4ParticleChangeForLoss * fParticleChange
G4double fHighestKineticEnergy