66 #ifndef G4VEmProcess_h 
   67 #define G4VEmProcess_h 1 
   69 #include <CLHEP/Units/SystemOfUnits.h> 
  219                                             size_t& idxRegion) 
const;
 
  474                                                  size_t& idxRegion)
 const 
void ActivateForcedInteraction(G4double length=0.0, const G4String &r="", G4bool flag=true)
 
G4double condition(const G4ErrorSymMatrix &m)
 
G4PhysicsTable * LambdaTable() const 
 
const std::vector< G4double > * theCutsGamma
 
std::vector< G4double > theCrossSectionMax
 
void DefineMaterial(const G4MaterialCutsCouple *couple)
 
virtual void PrintInfo()=0
 
G4double GetLambda(G4double &kinEnergy, const G4MaterialCutsCouple *couple)
 
virtual G4double CrossSectionPerVolume(const G4Material *, const G4ParticleDefinition *, G4double kineticEnergy, G4double cutEnergy=0.0, G4double maxEnergy=DBL_MAX)
 
G4PhysicsTable * LambdaTablePrim() const 
 
G4VEmModel * SelectModel(G4double &kinEnergy, size_t index)
 
G4PhysicsTable * theLambdaTablePrim
 
G4double GetLambdaFromTable(G4double kinEnergy)
 
G4VEmProcess(const G4String &name, G4ProcessType type=fElectromagnetic)
 
G4VEmModel * currentModel
 
void SetBuildTableFlag(G4bool val)
 
G4VEmProcess & operator=(const G4VEmProcess &right)
 
G4double ComputeCrossSectionPerAtom(G4double kineticEnergy, G4double Z, G4double A=0., G4double cut=0.0)
 
G4VEmModel * EmModel(G4int index=1) const 
 
G4double MscThetaLimit() const 
 
G4ParticleChangeForGamma fParticleChange
 
G4double GetElectronEnergyCut()
 
G4EmParameters * theParameters
 
void SetSplineFlag(G4bool val)
 
const G4VEmModel * GetCurrentModel() const 
 
const std::vector< G4double > * theCutsPositron
 
virtual void InitialiseProcess(const G4ParticleDefinition *)=0
 
G4double MaxKinEnergy() const 
 
const G4ParticleDefinition * SecondaryParticle() const 
 
const G4MaterialCutsCouple * currentCouple
 
const G4ParticleDefinition * Particle() const 
 
virtual void BuildPhysicsTable(const G4ParticleDefinition &)
 
virtual G4double PostStepGetPhysicalInteractionLength(const G4Track &track, G4double previousStepSize, G4ForceCondition *condition)
 
const G4Material * baseMaterial
 
G4PhysicsTable * theLambdaTable
 
void SetStartFromNullFlag(G4bool val)
 
G4double minKinEnergyPrim
 
void UpdateEmModel(const G4String &, G4double, G4double)
 
G4double GetCurrentLambda(G4double kinEnergy)
 
void ActivateSecondaryBiasing(const G4String ®ion, G4double factor, G4double energyLimit)
 
G4int LambdaBinning() const 
 
void SetMinKinEnergyPrim(G4double e)
 
void SetCrossSectionBiasingFactor(G4double f, G4bool flag=true)
 
virtual G4double MinPrimaryEnergy(const G4ParticleDefinition *, const G4Material *)
 
G4double MeanFreePath(const G4Track &track)
 
const G4ParticleDefinition * currentParticle
 
void SetLambdaBinning(G4int nbins)
 
void SetEmModel(G4VEmModel *, G4int index=1)
 
size_t CurrentMaterialCutsCoupleIndex() const 
 
double A(double temperature)
 
virtual G4bool RetrievePhysicsTable(const G4ParticleDefinition *, const G4String &directory, G4bool ascii)
 
G4double PolarAngleLimit() const 
 
const std::vector< G4int > * theDensityIdx
 
G4double GetGammaEnergyCut()
 
void SetParticle(const G4ParticleDefinition *p)
 
void PrintInfoProcess(const G4ParticleDefinition &)
 
std::vector< G4DynamicParticle * > secParticles
 
G4ParticleChangeForGamma * GetParticleChange()
 
virtual G4double GetMeanFreePath(const G4Track &track, G4double previousStepSize, G4ForceCondition *condition)
 
G4LossTableManager * lManager
 
const G4Element * GetTargetElement() const 
 
const G4ParticleDefinition * secondaryParticle
 
std::vector< G4double > theEnergyOfCrossSectionMax
 
void SetIntegral(G4bool val)
 
const G4ParticleDefinition * particle
 
virtual void PreparePhysicsTable(const G4ParticleDefinition &)
 
const std::vector< G4double > * theCuts
 
std::vector< G4VEmModel * > emModels
 
G4double ComputeCurrentLambda(G4double kinEnergy)
 
G4PhysicsVector * LambdaPhysicsVector(const G4MaterialCutsCouple *)
 
G4VEmModel * SelectModelForMaterial(G4double kinEnergy, size_t &idxRegion) const 
 
const G4Isotope * GetTargetIsotope() const 
 
const G4Material * currentMaterial
 
void SetMaxKinEnergy(G4double e)
 
static const G4double factor
 
const G4ParticleDefinition * theElectron
 
G4double CrossSectionBiasingFactor() const 
 
void AddEmModel(G4int, G4VEmModel *, const G4Region *region=0)
 
virtual void ProcessDescription(std::ostream &outFile) const 
 
void SetCurrentCouple(const G4MaterialCutsCouple *)
 
void SetSecondaryParticle(const G4ParticleDefinition *p)
 
G4EmModelManager * modelManager
 
const G4double x[NPOINTSGL]
 
G4bool IsIntegral() const 
 
const G4Element * GetCurrentElement() const 
 
void ComputeIntegralLambda(G4double kinEnergy)
 
const G4Material * GetBaseMaterial() const 
 
G4EmBiasingManager * biasManager
 
G4VEmModel * SelectModel(G4double &energy, size_t &index)
 
G4double GetLambdaFromTablePrim(G4double kinEnergy)
 
G4VEmModel * GetModelByIndex(G4int idx=0, G4bool ver=false) const 
 
const std::vector< G4double > * theDensityFactor
 
size_t currentCoupleIndex
 
void SetMinKinEnergy(G4double e)
 
const std::vector< G4double > * theCutsElectron
 
virtual G4bool IsApplicable(const G4ParticleDefinition &p)=0
 
virtual void StartTracking(G4Track *)
 
G4double MinKinEnergy() const 
 
G4double CrossSectionPerVolume(G4double kineticEnergy, const G4MaterialCutsCouple *couple)
 
void PrintWarning(G4String tit, G4double val)
 
virtual G4bool StorePhysicsTable(const G4ParticleDefinition *, const G4String &directory, G4bool ascii=false)
 
G4double preStepKinEnergy
 
virtual G4VParticleChange * PostStepDoIt(const G4Track &, const G4Step &)
 
const G4ParticleDefinition * theGamma
 
const G4ParticleDefinition * thePositron
 
const G4Material * GetMaterial() const 
 
const G4Isotope * GetCurrentIsotope() const 
 
const G4Element * GetCurrentElement() const 
 
G4double RecalculateLambda(G4double kinEnergy, const G4MaterialCutsCouple *couple)