Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members  

Spectrum Class Reference

Class for holding function definitions of Spectrums - i.e. HeSpectrum, SimpleSpectrum, etc... Basically an abstract base class for these classes. More...

#include <Spectrum.h>

Inheritance diagram for Spectrum:

AlbedoPSpectrum AlbedoSpectrum CHIMESpectrum CrElectron CrProton CrSpectrum FILESpectrum GalElSpectrum HeSpectrum ProtonSpectrum SimpleSpectrum TrappedProtonSpectrum List of all members.

Public Methods

virtual float operator() (float ) const
virtual const char* particleName () const = 0
 subclasses need to specify correct particle type. More...

virtual double flux ( ) const
 calculate the flux, particles/m^2/sr. (default zero). More...

virtual double solidAngle () const
 calcualte effective solid angle (default zero). More...

virtual void setPosition ( double lat, double lon , double time=0)
 for forward compatibility with position base spectra. More...

virtual std::string title () const = 0
 return a title describing the spectrum.

float fraction (float energy)
 inverse of the operator: given a KE, return number in [0,1) for choosing limits.

virtual ~Spectrum ()
virtual std::pair<float,float> dir (float energy) const
virtual double energySrc (HepRandomEngine* engine)
 new interface for Hirosima classes. More...

virtual std::pair<double,double> dir (double energy, HepRandomEngine* engine)

Protected Methods

 Spectrum (const std::vector<float>& )
 Spectrum ()
virtual void parseParamList (std::string input, std::vector<float>& output) const

Protected Attributes

double m_lat
double m_lon
double m_time

Detailed Description

Class for holding function definitions of Spectrums - i.e. HeSpectrum, SimpleSpectrum, etc... Basically an abstract base class for these classes.

Definition at line 21 of file Spectrum.h.


Constructor & Destructor Documentation

Spectrum::~Spectrum ( ) [virtual]
 

Definition at line 16 of file Spectrum.cxx.

Spectrum::Spectrum ( const std::vector< float >& ) [inline, protected]
 

Definition at line 75 of file Spectrum.h.

Spectrum::Spectrum ( ) [inline, protected]
 

Definition at line 76 of file Spectrum.h.


Member Function Documentation

std::pair< double,double > Spectrum::dir ( double energy,
HepRandomEngine * engine ) [virtual]
 

Reimplemented in CrElectron, and CrProton.

Definition at line 85 of file Spectrum.cxx.

std::pair< float,float > Spectrum::dir ( float energy ) const [virtual]
 

Reimplemented in AlbedoPSpectrum, CHIMESpectrum, GalElSpectrum, HeSpectrum, CrElectronPrimary, CrElectronReentrant, CrElectronSplash, CrProtonPrimary, CrProtonReentrant, and CrProtonSplash.

Definition at line 60 of file Spectrum.cxx.

Referenced by FluxSource::computeLaunch(), and dir().

double Spectrum::energySrc ( HepRandomEngine * engine ) [virtual]
 

new interface for Hirosima classes.

Reimplemented in CrElectron, and CrProton.

Definition at line 79 of file Spectrum.cxx.

Referenced by FluxSource::computeLaunch().

double Spectrum::flux ( ) const [virtual]
 

calculate the flux, particles/m^2/sr. (default zero).

Reimplemented in AlbedoPSpectrum, CHIMESpectrum, GalElSpectrum, HeSpectrum, TrappedProtonSpectrum, CrElectron, CrElectronPrimary, CrElectronReentrant, CrElectronSplash, CrProton, CrProtonPrimary, CrProtonReentrant, CrProtonSplash, and FILESpectrum.

Definition at line 44 of file Spectrum.cxx.

Referenced by FluxSource::flux().

float Spectrum::fraction ( float energy )
 

inverse of the operator: given a KE, return number in [0,1) for choosing limits.

Reimplemented in CrElectronPrimary, CrElectronReentrant, CrElectronSplash, CrProtonPrimary, CrProtonReentrant, and CrProtonSplash.

float Spectrum::operator() ( float x ) const [inline, virtual]
 

Reimplemented in AlbedoPSpectrum, AlbedoSpectrum, CHIMESpectrum, GalElSpectrum, HeSpectrum, ProtonSpectrum, SimpleSpectrum, TrappedProtonSpectrum, and FILESpectrum.

Definition at line 30 of file Spectrum.h.

void Spectrum::parseParamList ( std::string input,
std::vector< float >& output ) const [protected, virtual]
 

Definition at line 91 of file Spectrum.cxx.

Referenced by AlbedoPSpectrum::AlbedoPSpectrum(), CrElectron::CrElectron(), CrProton::CrProton(), GalElSpectrum::GalElSpectrum(), HeSpectrum::HeSpectrum(), and CHIMESpectrum::init().

const char * Spectrum::particleName ( ) const [pure virtual]
 

subclasses need to specify correct particle type.

Reimplemented in AlbedoPSpectrum, AlbedoSpectrum, CHIMESpectrum, GalElSpectrum, HeSpectrum, ProtonSpectrum, SimpleSpectrum, TrappedProtonSpectrum, CrElectron, CrElectronPrimary, CrElectronReentrant, CrElectronSplash, CrProton, CrProtonPrimary, CrProtonReentrant, CrProtonSplash, and FILESpectrum.

Definition at line 74 of file Spectrum.cxx.

void Spectrum::setPosition ( double latitude,
double longitude,
double time = 0 ) [virtual]
 

for forward compatibility with position base spectra.

Reimplemented in CrSpectrum.

Definition at line 53 of file Spectrum.cxx.

double Spectrum::solidAngle ( ) const [virtual]
 

calcualte effective solid angle (default zero).

Reimplemented in AlbedoPSpectrum, CHIMESpectrum, GalElSpectrum, HeSpectrum, CrElectron, CrElectronPrimary, CrElectronReentrant, CrElectronSplash, CrProton, CrProtonPrimary, CrProtonReentrant, and CrProtonSplash.

Definition at line 48 of file Spectrum.cxx.

Referenced by FluxSource::setAcceptance().

std::string Spectrum::title ( ) const [pure virtual]
 

return a title describing the spectrum.

Reimplemented in AlbedoPSpectrum, AlbedoSpectrum, CHIMESpectrum, GalElSpectrum, HeSpectrum, ProtonSpectrum, SimpleSpectrum, TrappedProtonSpectrum, CrElectron, CrElectronPrimary, CrElectronReentrant, CrElectronSplash, CrProton, CrProtonPrimary, CrProtonReentrant, CrProtonSplash, and FILESpectrum.


Member Data Documentation

double Spectrum::m_lat [protected]
 

Definition at line 82 of file Spectrum.h.

double Spectrum::m_lon [protected]
 

Definition at line 82 of file Spectrum.h.

double Spectrum::m_time [protected]
 

Reimplemented in CrSpectrum.

Definition at line 83 of file Spectrum.h.


The documentation for this class was generated from the following files:
Generated at Wed Nov 21 12:20:37 2001 by doxygen1.2.3 written by Dimitri van Heesch, © 1997-2000