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

CrProton.h

Go to the documentation of this file.
00001 //$Header: /nfs/slac/g/glast/ground/cvs/flux/src/CrProton.h,v 1.8 2001/10/20 07:20:35 srobinsn Exp $
00002 
00003 #ifndef CrProton_H
00004 #define CrProton_H
00005 
00006 
00009 
00010 #include <vector>
00011 #include <utility>
00012 #include <string>
00013 #include "flux/Spectrum.h"
00014 
00015 class CrSpectrum;
00016 
00017 class CrProton : public Spectrum
00018 {
00019 public:
00020     // params[0] is bit flag for determining which to include (default 7)
00021     // 1: primary
00022     // 2: reentrant
00023     // 4: splash
00024 
00025   CrProton(const std::string& params);
00026   ~CrProton();
00027 
00028   CrSpectrum* selectComponent(HepRandomEngine* engine);
00029   double energySrc(HepRandomEngine* engine);
00030   std::pair<double,double> dir(double energy, HepRandomEngine* engine);
00031   CrSpectrum* component() const;
00032 
00034         virtual double    flux ( ) const;
00035 
00036         virtual const char * particleName()const{ return "p";}
00037   virtual std::string title()const{return "CrProton";}
00038   virtual double solidAngle( )const;
00039 
00040 private:
00041   std::vector<CrSpectrum*>  m_subComponents;
00042   CrSpectrum*               m_component;
00043 };
00044 #endif // CrProton_H
00045 

Generated at Wed Nov 21 12:20:33 2001 by doxygen1.2.3 written by Dimitri van Heesch, © 1997-2000