spatial_distribution1d.cpp
1 
6 
8 
9 Uniform::Uniform(double val): _val(val) {}
10 
11 double Uniform::operator()(double /*x*/) const
12 {
13  return _val;
14 }
15 
16 Step::Step(double val1, double val2,
17  double steppos):
18  _val1(val1), _val2(val2), _steppos(steppos) {}
19 
20 double Step::operator()(double x) const
21 {
22  if (x>_steppos)
23  return _val2;
24  else
25  return _val1;
26 }
27 
28 TwoSteps::TwoSteps(double ivl, double ilip,
29  double ivm, double irip,
30  double ivr):
31  vl(ivl),
32  vr(ivr),
33  vm(ivm),
34  lip(ilip),
35  rip(irip) {}
36 
37 double TwoSteps::operator()(double x) const
38 {
39  if (x<lip)
40  return vl;
41  else if (x>rip)
42  return vr;
43  else
44  return vm;
45 }
virtual ~SpatialDistribution1D(void)
Abstract class for initial conditions.
double operator()(double x) const
Evaluates the distribution at a certain spot.
Uniform(double val)
Class constructor.
TwoSteps(double ivl, double ilip, double ivm, double irip, double ivr)
Class constructor.
double operator()(double x) const
Evaluates the distribution at a certain spot.
Step(double val1, double val2, double steppos)
Class constructor.
double operator()(double x) const
Calculates the value at each point.
Abstract class for initial conditions.