46#ifndef G4QTauNuclearCrossSection_h
47#define G4QTauNuclearCrossSection_h 1
107 static G4int lastPDG;
114 static std::vector <G4double*>* J1;
115 static std::vector <G4double*>* J2;
116 static std::vector <G4double*>* J3;
126 static const G4double lmtu=std::log(mtu);
128 G4double flux=lastG*(2.-y*(2.-y))-1.;
129 return (poc*(x-pos)+shd*std::exp(-reg*x))*flux;
137 return dlg1*HighEnergyJ1(x)-lgoe*(HE2+HE2-HighEnergyJ3(x)/lastE);
142 static const G4double le=std::log(50000.);
149 static const G4double ele=std::exp(-d*le);
150 return ha*(lEn*lEn-le2)-ab*(lEn-le)-cd*(std::exp(-d*lEn)-ele);
156 static const G4double le=std::log(e);
157 static const G4double le1=(le-1.)*e;
162 static const G4double ele=std::exp(d*le);
164 return a*((lEn-1.)*En-le1)-ab*(En-e)+cd*(std::exp(d*lEn)-ele);
170 static const G4double le=std::log(e);
172 static const G4double leh=(le-.5)*e2;
177 static const G4double ele=std::exp(d*le);
179 return ha*((lEn-.5)*lastE2-leh)-hab*(lastE2-e2)+cd*(std::exp(d*lEn)-ele);
G4QTauNuclearCrossSection()
G4double GetExchangeQ2(G4double nu)
G4double CalculateCrossSection(G4bool CS, G4int F, G4int I, G4int PDG, G4int Z, G4int N, G4double Momentum)
~G4QTauNuclearCrossSection()
static G4VQCrossSection * GetPointer()
G4double GetVirtualFactor(G4double nu, G4double Q2)
virtual G4double GetCrossSection(G4bool fCS, G4double pMom, G4int tgZ, G4int tgN, G4int pPDG=0)
G4int GetExchangePDGCode()
G4double GetExchangeEnergy()
G4double ThresholdEnergy(G4int Z, G4int N, G4int PDG=15)