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

ISpectrum.h

Go to the documentation of this file.
00001 #if !defined(AFX_ISPECTRUM_H__9D00078B_7121_473C_813A_827B2F4126A5__INCLUDED_)
00002 #define AFX_ISPECTRUM_H__9D00078B_7121_473C_813A_827B2F4126A5__INCLUDED_
00003 
00016 #if _MSC_VER > 1000
00017 #pragma once
00018 #endif // _MSC_VER > 1000
00019 
00020 #include <string>
00021 #include <utility>
00022 // CLHEP
00023 #include "CLHEP/Random/RandomEngine.h"
00024 
00025 //forward declaration
00026 class HepRandomEngine;
00027 
00028 
00029 class ISpectrum  
00030 {
00031     
00032 public:
00033     
00035     virtual const char * particleName()const=0;
00036     
00038     virtual double    flux (double time ) const=0;
00039     
00041     virtual double solidAngle()const{return 6.;}
00042     
00044     virtual std::string title()const=0;
00045     
00047     virtual double interval (double time)=0;
00048     
00050     virtual double energySrc(HepRandomEngine* engine, double time=0)=0;
00051     virtual std::pair<double,double> dir(double energy, HepRandomEngine* engine)=0;
00052     
00053 };
00054 
00055 
00056 #endif // !defined(AFX_ISPECTRUM_H__9D00078B_7121_473C_813A_827B2F4126A5__INCLUDED_)

Generated on Wed Oct 16 14:01:30 2002 by doxygen1.2.13.1 written by Dimitri van Heesch, © 1997-2001