Line data Source code
1 : #include "crpropa/massDistribution/Cordes.h"
2 : #include "crpropa/Common.h"
3 :
4 : #include <sstream>
5 :
6 : namespace crpropa {
7 :
8 4 : double Cordes::getHIIDensity(const Vector3d &position) const {
9 : double n=0; // in m^-3
10 :
11 4 : double z=position.z;
12 4 : double R = sqrt(position.x*position.x+position.y*position.y); //radius in galactic disk
13 :
14 4 : n += 0.025/ccm*exp(-fabs(z)/(1*kpc))*exp(-pow_integer<2>(R/(20*kpc))); // galactocentric component
15 4 : n += 0.2/ccm*exp(-fabs(z)/(0.15*kpc))*exp(-pow_integer<2>((R-4*kpc)/(2*kpc))); // anular component
16 :
17 4 : return n;
18 : }
19 :
20 2 : double Cordes::getDensity(const Vector3d &position) const {
21 2 : return Cordes::getHIIDensity(position);
22 : }
23 :
24 1 : double Cordes::getNucleonDensity(const Vector3d &position) const {
25 1 : return getHIIDensity(position);
26 : }
27 :
28 1 : bool Cordes::getIsForHI() {
29 1 : return isforHI;
30 : }
31 :
32 1 : bool Cordes::getIsForHII() {
33 1 : return isforHII;
34 : }
35 :
36 1 : bool Cordes::getIsForH2() {
37 1 : return isforH2;
38 : }
39 :
40 0 : std::string Cordes::getDescription() {
41 0 : std::stringstream s;
42 0 : s << "Density Cordes: includes only an HII component";
43 0 : return s.str();
44 0 : }
45 :
46 : } // namespace crpropa
|