Geant4  10.03
G4PolarizationTransition Class Reference

#include <G4PolarizationTransition.hh>

+ Collaboration diagram for G4PolarizationTransition:

Public Member Functions

 G4PolarizationTransition ()
 
 ~G4PolarizationTransition ()
 
G4double FCoefficient (G4int K, G4int L, G4int Lprime, G4int twoJ2, G4int twoJ1) const
 
G4double F3Coefficient (G4int K, G4int K2, G4int K1, G4int L, G4int Lprime, G4int twoJ2, G4int twoJ1) const
 
G4double GammaTransFCoefficient (G4int K) const
 
G4double GammaTransF3Coefficient (G4int K, G4int K2, G4int K1) const
 
void SetGammaTransitionData (G4int twoJ1, G4int twoJ2, G4int Lbar, G4double delta=0, G4int Lprime=1)
 
G4double GenerateGammaCosTheta (const POLAR &)
 
G4double GenerateGammaPhi (G4double cosTheta, const POLAR &)
 
void UpdatePolarizationToFinalState (G4double cosTheta, G4double phi, G4Fragment *)
 
void DumpTransitionData (const POLAR &pol) const
 

Private Types

typedef std::vector
< std::vector< G4complex > > 
POLAR
 

Private Member Functions

 G4PolarizationTransition (const G4PolarizationTransition &right)=delete
 
const G4PolarizationTransitionoperator= (const G4PolarizationTransition &right)=delete
 
G4double LnFactorial (int k) const
 

Private Attributes

G4int fTwoJ1
 
G4int fTwoJ2
 
G4int fLbar
 
G4int fL
 
G4double fDelta
 
G4double kEps
 
G4PolynomialPDF kPolyPDF
 
G4LegendrePolynomial fgLegendrePolys
 

Detailed Description

Definition at line 58 of file G4PolarizationTransition.hh.

Member Typedef Documentation

typedef std::vector< std::vector<G4complex> > G4PolarizationTransition::POLAR
private

Definition at line 60 of file G4PolarizationTransition.hh.

Constructor & Destructor Documentation

G4PolarizationTransition::G4PolarizationTransition ( )
explicit

Definition at line 48 of file G4PolarizationTransition.cc.

G4PolarizationTransition::~G4PolarizationTransition ( )

Definition at line 53 of file G4PolarizationTransition.cc.

G4PolarizationTransition::G4PolarizationTransition ( const G4PolarizationTransition right)
privatedelete

Member Function Documentation

void G4PolarizationTransition::DumpTransitionData ( const POLAR pol) const

Definition at line 310 of file G4PolarizationTransition.cc.

References fDelta, fL, fLbar, fTwoJ1, fTwoJ2, G4cout, and G4endl.

Referenced by GenerateGammaPhi().

+ Here is the caller graph for this function:

G4double G4PolarizationTransition::F3Coefficient ( G4int  K,
G4int  K2,
G4int  K1,
G4int  L,
G4int  Lprime,
G4int  twoJ2,
G4int  twoJ1 
) const

Definition at line 67 of file G4PolarizationTransition.cc.

References G4Clebsch::Wigner3J(), and G4Clebsch::Wigner9J().

Referenced by GammaTransF3Coefficient().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4PolarizationTransition::FCoefficient ( G4int  K,
G4int  L,
G4int  Lprime,
G4int  twoJ2,
G4int  twoJ1 
) const

Definition at line 56 of file G4PolarizationTransition.cc.

References G4Clebsch::Wigner3J(), and G4Clebsch::Wigner6J().

Referenced by GammaTransFCoefficient().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4PolarizationTransition::GammaTransF3Coefficient ( G4int  K,
G4int  K2,
G4int  K1 
) const

Definition at line 100 of file G4PolarizationTransition.cc.

References F3Coefficient(), fDelta, fL, fLbar, fTwoJ1, and fTwoJ2.

Referenced by UpdatePolarizationToFinalState().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4PolarizationTransition::GammaTransFCoefficient ( G4int  K) const

Definition at line 91 of file G4PolarizationTransition.cc.

References FCoefficient(), fDelta, fL, fLbar, fTwoJ1, and fTwoJ2.

Referenced by GenerateGammaCosTheta(), and GenerateGammaPhi().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4PolarizationTransition::GenerateGammaCosTheta ( const POLAR pol)

Definition at line 110 of file G4PolarizationTransition.cc.

References fgLegendrePolys, G4cout, G4endl, G4UniformRand, GammaTransFCoefficient(), G4LegendrePolynomial::GetCoefficient(), G4LegendrePolynomial::GetNCoefficients(), G4PolynomialPDF::GetRandomX(), kEps, kPolyPDF, and G4PolynomialPDF::SetCoefficients().

Referenced by G4GammaTransition::SampleDirection().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4PolarizationTransition::GenerateGammaPhi ( G4double  cosTheta,
const POLAR pol 
)

Definition at line 134 of file G4PolarizationTransition.cc.

References DumpTransitionData(), G4LegendrePolynomial::EvalAssocLegendrePoly(), fgLegendrePolys, G4cout, G4endl, G4UniformRand, GammaTransFCoefficient(), kEps, LnFactorial(), and twopi.

Referenced by G4GammaTransition::SampleDirection().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4PolarizationTransition::LnFactorial ( int  k) const
inlineprivate

Definition at line 92 of file G4PolarizationTransition.hh.

References G4Pow::GetInstance(), and G4Pow::logfactorial().

Referenced by GenerateGammaPhi(), and UpdatePolarizationToFinalState().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

const G4PolarizationTransition& G4PolarizationTransition::operator= ( const G4PolarizationTransition right)
privatedelete
void G4PolarizationTransition::SetGammaTransitionData ( G4int  twoJ1,
G4int  twoJ2,
G4int  Lbar,
G4double  delta = 0,
G4int  Lprime = 1 
)

Definition at line 80 of file G4PolarizationTransition.cc.

References fDelta, fL, fLbar, fTwoJ1, and fTwoJ2.

Referenced by G4GammaTransition::SampleDirection().

+ Here is the caller graph for this function:

void G4PolarizationTransition::UpdatePolarizationToFinalState ( G4double  cosTheta,
G4double  phi,
G4Fragment frag 
)

Definition at line 209 of file G4PolarizationTransition.cc.

References G4LegendrePolynomial::EvalAssocLegendrePoly(), fgLegendrePolys, fTwoJ2, G4cout, G4endl, G4Exp(), GammaTransF3Coefficient(), G4Fragment::GetNuclearPolarization(), G4NuclearPolarization::GetPolarization(), kEps, LnFactorial(), G4Fragment::SetNuclearPolarization(), G4NuclearPolarization::SetPolarization(), and G4Clebsch::Wigner3J().

Referenced by G4GammaTransition::SampleDirection().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Member Data Documentation

G4double G4PolarizationTransition::fDelta
private
G4LegendrePolynomial G4PolarizationTransition::fgLegendrePolys
private
G4int G4PolarizationTransition::fL
private
G4int G4PolarizationTransition::fLbar
private
G4int G4PolarizationTransition::fTwoJ1
private
G4double G4PolarizationTransition::kEps
private
G4PolynomialPDF G4PolarizationTransition::kPolyPDF
private

Definition at line 98 of file G4PolarizationTransition.hh.

Referenced by GenerateGammaCosTheta().


The documentation for this class was generated from the following files: