#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}
G4double epsilon(G4double density, G4double temperature)
std::vector< double > fInverse
◆ ~G4DNASmoluchowskiDiffusion()
G4DNASmoluchowskiDiffusion::~G4DNASmoluchowskiDiffusion |
( |
| ) |
|
|
virtualdefault |
◆ 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 309 of file G4DNASmoluchowskiDiffusion.hh.
310 {
311 auto index_low = (size_t) trunc(proba/
fEpsilon);
312
313 if(index_low == 0)
314 {
315 index_low = 1;
316 size_t index_up = 2;
321 double tangente = (low_y-up_y)/(low_x - up_x);
322
323 return low_y + tangente*(proba-low_x);
324 }
325
326 size_t index_up = index_low+1;
330
333
334 if(up_x > 1)
335 {
336 up_x = 1;
337 up_y = 0;
338 }
339
340 double tangente = (low_y-up_y)/(low_x - up_x);
341
342 return low_y + tangente*(proba-low_x);
343 }
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 262 of file G4DNASmoluchowskiDiffusion.hh.
263 {
264 double x = xmax;
265 int index = 0;
267 double proposedX;
268
270
272
273
274 {
276
278
279 if(boundingBox.Propose(x, newProba, nextProba, proposedX))
280 {
282 index++;
283 }
284 else
285 {
286 if(x == proposedX)
287 {
292 abort();
293 }
294 x = proposedX;
295 }
296 }
297
299
300
301 }
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: