69 G4cout <<
"G4PhononDownconversion::GetMeanFreePath = " << mfp <<
G4endl;
113 return (1/(x*x))*(1-x*x)*(1-x*x)*((1+x)*(1+x)-d*d*((1-x)*(1-x)))*(1+x*x-d*d*(1-x)*(1-x))*(1+x*x-d*d*(1-x)*(1-x));
126 return (A+B*d*x-B*x*x)*(A+B*d*x-B*x*x)+(C*x*(d-x)-D/(d-x)*(x-d-(1-d*d)/(4*x)))*(C*x*(d-x)-D/(d-x)*(x-d-(1-d*d)/(4*x)));
135 return std::acos((1+(x*x)-((d*d)*(1-x)*(1-x)))/(2*x));
144 return std::acos((1-x*x+d*d*(1-x)*(1-x))/(2*d*(1-x)));
153 return std::acos((1-d*d*(1-x)*(1-x)+d*d*x*x)/(2*d*x));
189 dir1 = dir1.rotate(dir1.orthogonal(),theta1).rotate(dir1, ph);
190 dir2 = dir2.rotate(dir2.orthogonal(),-theta2).rotate(dir2,ph);
193 G4double Esec1 = x*E, Esec2 = E-Esec1;
242 dir1 = dir1.rotate(dir1.orthogonal(),thetaL).rotate(dir1, ph);
243 dir2 = dir2.rotate(dir2.orthogonal(),-thetaT).rotate(dir2,ph);
246 G4double Esec1 = x*E, Esec2 = E-Esec1;
G4PhononDownconversion(const G4String &processName="phononDownconversion")
G4double condition(const G4ErrorSymMatrix &m)
G4double GetGamma() const
const G4LatticePhysical * theLattice
void MakeTTSecondaries(const G4Track &)
G4double MakeTDeviation(G4double, G4double) const
G4double GetAnhDecConstant() const
void MakeLTSecondaries(const G4Track &)
G4double GetTTDecayProb(G4double, G4double) const
CLHEP::Hep3Vector G4ThreeVector
G4double GetVelocity() const
virtual G4double GetMeanFreePath(const G4Track &, G4double, G4ForceCondition *)
G4double GetLambda() const
G4double GetSTDOS() const
virtual ~G4PhononDownconversion()
G4ThreeVector G4RandomDirection()
Definition of the G4PhononPolarization enum.
Definition of the G4PhononDownconversion class.
G4double GetFTDOS() const
G4double GetLTDecayProb(G4double, G4double) const
G4PhononTrackMap * trackKmap
G4double GetKineticEnergy() const
Definition of the G4PhononTrackMap base class.
G4GLOB_DLL std::ostream G4cout
const G4ThreeVector & GetK(const G4Track *track) const
static G4PhononLong * PhononDefinition()
virtual G4VParticleChange * PostStepDoIt(const G4Track &, const G4Step &)
static const G4double A[nN]
virtual G4bool IsApplicable(const G4ParticleDefinition &)
virtual void Initialize(const G4Track &)
virtual G4int ChoosePolarization(G4double Ldos, G4double STdos, G4double FTdos) const
void SetNumberOfSecondaries(G4int totSecondaries)
void ProposeEnergy(G4double finalEnergy)
G4ParticleChange aParticleChange
Definition of the G4LatticePhysical class.
void AddSecondary(G4Track *aSecondary)
virtual G4Track * CreateSecondary(G4int polarization, const G4ThreeVector &K, G4double energy) const
void ProposeTrackStatus(G4TrackStatus status)
G4double MakeTTDeviation(G4double, G4double) const
G4double MakeLDeviation(G4double, G4double) const