#include <G4DNASmoluchowskiDiffusion.hh>
◆ G4DNASmoluchowskiDiffusion()
G4DNASmoluchowskiDiffusion::G4DNASmoluchowskiDiffusion |
( |
double |
epsilon = 1e-5 | ) |
|
Definition at line 50 of file G4DNASmoluchowskiDiffusion.cc.
51{
53
54#ifdef DNADEV
56#endif
58
59
60}
double epsilon(double density, double temperature)
std::vector< double > fInverse
◆ ~G4DNASmoluchowskiDiffusion()
G4DNASmoluchowskiDiffusion::~G4DNASmoluchowskiDiffusion |
( |
| ) |
|
|
virtual |
◆ ComputeDistance()
static double G4DNASmoluchowskiDiffusion::ComputeDistance |
( |
double |
sTransform, |
|
|
double |
D, |
|
|
double |
t |
|
) |
| |
|
inlinestatic |
◆ ComputeS()
static double G4DNASmoluchowskiDiffusion::ComputeS |
( |
double |
r, |
|
|
double |
D, |
|
|
double |
t |
|
) |
| |
|
inlinestatic |
◆ ComputeTime()
static double G4DNASmoluchowskiDiffusion::ComputeTime |
( |
double |
sTransform, |
|
|
double |
D, |
|
|
double |
r |
|
) |
| |
|
inlinestatic |
◆ EstimateCrossingTime()
double G4DNASmoluchowskiDiffusion::EstimateCrossingTime |
( |
double |
proba, |
|
|
double |
distance, |
|
|
double |
D |
|
) |
| |
|
inline |
Definition at line 110 of file G4DNASmoluchowskiDiffusion.hh.
113 {
116 }
double GetInverseProbability(double proba)
static double ComputeTime(double sTransform, double D, double r)
◆ GetCumulativeProbability()
static double G4DNASmoluchowskiDiffusion::GetCumulativeProbability |
( |
double |
sTransform | ) |
|
|
inlinestatic |
◆ GetDensityProbability()
static double G4DNASmoluchowskiDiffusion::GetDensityProbability |
( |
double |
r, |
|
|
double |
_time, |
|
|
double |
D |
|
) |
| |
|
inlinestatic |
Definition at line 129 of file G4DNASmoluchowskiDiffusion.hh.
130 {
131 static double my_pi = 3.141592653589793;
132 static double constant = 4.*my_pi/std::pow(4.*my_pi, 1.5);
133 return r*r/std::pow(
D * _time,1.5)*
G4Exp(-r*r/(4. *
D * _time))*constant;
134 }
◆ GetDifferential()
static double G4DNASmoluchowskiDiffusion::GetDifferential |
( |
double |
sTransform | ) |
|
|
inlinestatic |
Definition at line 123 of file G4DNASmoluchowskiDiffusion.hh.
124 {
125 static double constant = -4./std::sqrt(3.141592653589793);
126 return sTransform*sTransform*
G4Exp(-sTransform*sTransform)*constant;
127 }
Referenced by Plot().
◆ GetInverseProbability()
double G4DNASmoluchowskiDiffusion::GetInverseProbability |
( |
double |
proba | ) |
|
|
inline |
Definition at line 310 of file G4DNASmoluchowskiDiffusion.hh.
311 {
312 size_t index_low = (size_t) trunc(proba/
fEpsilon);
313
314 if(index_low == 0)
315 {
316 index_low = 1;
317 size_t index_up = 2;
322 double tangente = (low_y-up_y)/(low_x - up_x);
323
324 return low_y + tangente*(proba-low_x);
325 }
326
327 size_t index_up = index_low+1;
331
334
335 if(up_x > 1)
336 {
337 up_x = 1;
338 up_y = 0;
339 }
340
341 double tangente = (low_y-up_y)/(low_x - up_x);
342
343 return low_y + tangente*(proba-low_x);
344 }
Referenced by EstimateCrossingTime(), GetRandomDistance(), GetRandomTime(), and PlotInverse().
◆ GetRandomDistance()
double G4DNASmoluchowskiDiffusion::GetRandomDistance |
( |
double |
_time, |
|
|
double |
D |
|
) |
| |
|
inline |
◆ GetRandomTime()
double G4DNASmoluchowskiDiffusion::GetRandomTime |
( |
double |
distance, |
|
|
double |
D |
|
) |
| |
|
inline |
◆ InitialiseInverseProbability()
void G4DNASmoluchowskiDiffusion::InitialiseInverseProbability |
( |
double |
xmax = 3e28 | ) |
|
|
inline |
◆ Plot()
double G4DNASmoluchowskiDiffusion::Plot |
( |
double * |
x, |
|
|
double * |
|
|
) |
| |
|
inline |
◆ PlotInverse()
double G4DNASmoluchowskiDiffusion::PlotInverse |
( |
double * |
x, |
|
|
double * |
|
|
) |
| |
|
inline |
◆ PrepareReverseTable()
void G4DNASmoluchowskiDiffusion::PrepareReverseTable |
( |
double |
xmin, |
|
|
double |
xmax |
|
) |
| |
|
inline |
Definition at line 263 of file G4DNASmoluchowskiDiffusion.hh.
264 {
265 double x = xmax;
266 int index = 0;
268 double proposedX;
269
271
273
274
275 {
277
279
280 if(boundingBox.Propose(x, newProba, nextProba, proposedX))
281 {
283 index++;
284 }
285 else
286 {
287 if(x == proposedX)
288 {
293 abort();
294 }
295 x = proposedX;
296 }
297 }
298
300
301
302 }
G4GLOB_DLL std::ostream G4cout
static double GetCumulativeProbability(double sTransform)
Referenced by InitialiseInverseProbability().
◆ fEpsilon
double G4DNASmoluchowskiDiffusion::fEpsilon |
◆ fInverse
std::vector<double> G4DNASmoluchowskiDiffusion::fInverse |
◆ fNbins
int G4DNASmoluchowskiDiffusion::fNbins |
The documentation for this class was generated from the following files: