#include <SimpleSpectrum.h>
Inheritance diagram for SimpleSpectrum::

Public Methods | |
| SimpleSpectrum (const char *name, float E0, float index=0.0) | |
| SimpleSpectrum (const char *name, float Emin, float Emax, float index) | |
| SimpleSpectrum (const DOM_Element &xelem) | |
| SimpleSpectrum (const std::string ¶ms) | |
| SimpleSpectrum () | |
| void | setPosition (float, float) |
| virtual double | calculate_rate (double old_rate) |
| virtual float | operator() (float f) const |
| virtual const char * | particleName () const |
| subclasses need to specify correct particle type. More... | |
| virtual std::string | title () const |
| return a title describing the spectrum. More... | |
Private Methods | |
| float | parseParamList (std::string input, int index) |
Private Attributes | |
| float | m_E0 |
| std::string | m_name |
| float | m_index |
| float | m_emax |
$Header $
Definition at line 24 of file SimpleSpectrum.h.
|
||||||||||||||||
|
Definition at line 26 of file SimpleSpectrum.cxx.
|
|
||||||||||||||||||||
|
Definition at line 33 of file SimpleSpectrum.cxx.
|
|
|
Definition at line 40 of file SimpleSpectrum.cxx. References FATAL_MACRO, m_E0, m_emax, m_index, and m_name.
00040 {
00041 m_name = xml::Dom::getAttribute(xelem, "name").c_str();
00042
00043 const DOM_Element spectrum = xml::Dom::findFirstChildByName(xelem, "*");
00044 if (spectrum.getTagName().equals(DOMString("power_law"))) {
00045 m_E0 = atof(xml::Dom::getAttribute(spectrum, "emin").c_str());
00046 m_emax = atof(xml::Dom::getAttribute(spectrum, "emax").c_str());
00047 m_index = atof(xml::Dom::getAttribute(spectrum, "gamma").c_str());
00048 }
00049 else if (spectrum.getTagName().equals(DOMString("energy"))) {
00050 m_E0 = atof(xml::Dom::getAttribute(spectrum, "e").c_str());
00051 m_emax = 100.0;
00052 m_index = 0.0;
00053 }
00054 else FATAL_MACRO("Unknown particle spectrum!");
00055 }
|
|
|
Definition at line 19 of file SimpleSpectrum.cxx.
00020 :m_name("gamma") 00021 ,m_E0(parseParamList(params,0)) 00022 ,m_index(parseParamList(params,1)) 00023 {} |
|
|
Definition at line 18 of file SimpleSpectrum.cxx.
00018 {}//default constructor
|
|
|
Definition at line 85 of file SimpleSpectrum.cxx.
00086 {
00087 return old_rate;
00088 }
|
|
|
Reimplemented from Spectrum. Definition at line 69 of file SimpleSpectrum.cxx.
|
|
||||||||||||
|
Definition at line 90 of file SimpleSpectrum.cxx.
00091 {
00092 std::vector<float> output;
00093 int i=0;
00094 for(;!input.empty() && i!=std::string::npos;){
00095 float f = ::atof( input.c_str() );
00096 output.push_back(f);
00097 i=input.find_first_of(",");
00098 input= input.substr(i+1);
00099 }
00100 return output[index];
00101 } |
|
|
subclasses need to specify correct particle type.
Reimplemented from Spectrum. Definition at line 80 of file SimpleSpectrum.cxx. References m_name.
00081 {
00082 return m_name.c_str();
00083 }
|
|
||||||||||||
|
Definition at line 32 of file SimpleSpectrum.h.
00032 {}
|
|
|
return a title describing the spectrum.
Reimplemented from Spectrum. Definition at line 58 of file SimpleSpectrum.cxx.
00059 {
00060 std::strstream s;
00061 s << particleName() << '(' << m_E0 << " GeV";
00062 if( m_index >=1 ) s << ',' << m_index ;
00063 s << ")" << '\0';
00064 std::string t(s.str()); s.freeze(false);
00065 return t;
00066 }
|
|
|
Definition at line 39 of file SimpleSpectrum.h. Referenced by SimpleSpectrum(). |
|
|
Definition at line 42 of file SimpleSpectrum.h. Referenced by SimpleSpectrum(). |
|
|
Definition at line 41 of file SimpleSpectrum.h. Referenced by SimpleSpectrum(). |
|
|
Definition at line 40 of file SimpleSpectrum.h. Referenced by particleName(), and SimpleSpectrum(). |
1.2.13.1 written by Dimitri van Heesch,
© 1997-2001