43 #ifndef G4VXTRenergyLoss_h
44 #define G4VXTRenergyLoss_h 1
80 const G4String & processName =
"XTRenergyLoss",
92 const G4Step& aStep)
override;
G4double condition(const G4ErrorSymMatrix &m)
G4double GetXTRrandomEnergy(G4double scaledTkin, G4int iTkin)
G4PhysicsTable * fEnergyDistrTable
G4PhysicsLogVector * GetProtonVector()
void ComputeGasPhotoAbsCof()
void SetEnergy(G4double energy)
G4double GetGasFormationZone(G4double, G4double, G4double)
G4double GetPlateLinearPhotoAbs(G4double)
void SetCompton(G4bool pC)
G4double XTRNSpectralDensity(G4double energy)
void SetGamma(G4double gamma)
G4LogicalVolume * fEnvelope
virtual G4double GetMeanFreePath(const G4Track &aTrack, G4double previousStepSize, G4ForceCondition *condition) override
G4double GetPlateCompton(G4double)
G4double GetGasLinearPhotoAbs(G4double)
void SetAngleRadDistr(G4bool pAngleRadDistr)
G4double GetPlateFormationZone(G4double, G4double, G4double)
G4double GetComptonPerAtom(G4double, G4double)
G4complex GetPlateComplexFZ(G4double, G4double, G4double)
std::complex< G4double > G4complex
void GetNumberOfPhotons()
virtual G4VParticleChange * PostStepDoIt(const G4Track &aTrack, const G4Step &aStep) override
G4PhysicsLogVector * fProtonEnergyVector
G4double GetXTRenergy(G4int iPlace, G4double position, G4int iTransfer)
void BuildGlobalAngleTable()
void BuildAngleForEnergyBank()
G4double OneBoundaryXTRNdensity(G4double energy, G4double gamma, G4double varAngle) const
G4double XTRNSpectralAngleDensity(G4double varAngle)
G4PhysicsFreeVector * GetAngleVector(G4double energy, G4int n)
G4SandiaTable * fGasPhotoAbsCof
virtual void BuildPhysicsTable(const G4ParticleDefinition &) override
void SetVarAngle(G4double varAngle)
G4double GetAngleXTR(G4int iTR, G4double position, G4int iAngle)
G4double energy(const ThreeVector &p, const G4double m)
virtual ~G4VXTRenergyLoss()
G4double * fGammaCutInKineticEnergy
G4double SpectralAngleXTRdEdx(G4double varAngle)
virtual G4double SpectralXTRdEdx(G4double energy)
G4PhysicsLogVector * fXTREnergyVector
G4VXTRenergyLoss(G4LogicalVolume *anEnvelope, G4Material *, G4Material *, G4double, G4double, G4int, const G4String &processName="XTRenergyLoss", G4ProcessType type=fElectromagnetic)
std::vector< G4PhysicsTable * > fAngleBank
G4double GetRandomAngle(G4double energyXTR, G4int iTkin)
G4complex OneInterfaceXTRdEdx(G4double energy, G4double gamma, G4double varAngle)
G4PhysicsTable * fAngleForEnergyTable
G4double GetGasCompton(G4double)
G4PhysicsTable * fAngleDistrTable
G4SandiaTable * fPlatePhotoAbsCof
G4double XTRNAngleDensity(G4double varAngle)
G4complex GetGasComplexFZ(G4double, G4double, G4double)
G4ParticleDefinition * fPtrGamma
G4ParticleChange fParticleChange
G4double XTRNAngleSpectralDensity(G4double energy)
void ComputePlatePhotoAbsCof()
virtual G4bool IsApplicable(const G4ParticleDefinition &) override
G4double AngleSpectralXTRdEdx(G4double energy)
void GetPlateZmuProduct()
virtual G4double GetStackFactor(G4double energy, G4double gamma, G4double varAngle)
G4double AngleXTRdEdx(G4double varAngle)