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

IFlux.h

Go to the documentation of this file.
00001 // $Header: /nfs/slac/g/glast/ground/cvs/FluxSvc/FluxSvc/IFlux.h,v 1.32 2006/12/22 20:36:02 burnett Exp $
00002 
00003 #ifndef _H_IFlux_
00004 #define _H_IFlux_
00005 
00006 // includes
00007 #include <string>
00008 #include "CLHEP/Vector/Rotation.h"
00009 #include "CLHEP/Vector/ThreeVector.h"
00010 
00011 class ParticleProperty;
00012 class EventSource;
00013 
00014 class ISpectrumFactory;
00015 
00026 class IFlux {
00027 public:
00029     IFlux(std::string =""){};
00030     virtual ~IFlux(){}
00031     
00033     virtual std::string name()const=0;
00034     
00036     virtual std::string title()const = 0;
00037     
00039     virtual void generate()=0;
00040     
00042     virtual std::string particleName()const=0;
00043     
00045     //virtual ParticleProperty* property()const=0;
00046     
00048     virtual double energy()const=0;
00049     
00051     virtual Hep3Vector launchPoint()const=0;
00052     
00054     virtual Hep3Vector launchDir()const=0;
00055     
00057     virtual double time()const=0;
00058     
00060     virtual double rate()const=0;
00061     
00063     virtual void setTargetArea( double area)=0;
00064     
00066     virtual double targetArea()const =0;
00067     
00069     virtual std::string findSource()const=0;
00070     
00072     virtual int numSource()const=0;
00073     
00075     virtual void pass ( double t)=0;
00076     
00078     virtual CLHEP::HepRotation CELTransform(double time)const=0;
00079     
00081     virtual CLHEP::HepRotation orientTransform(double time)const=0;
00082     
00083     virtual void addFactory(std::string name, const ISpectrumFactory* factory )=0;
00084     
00085     virtual /*int*/double gpsTime()const=0;
00086     
00088     virtual CLHEP::HepRotation transformGlastToGalactic(double time)const=0;
00089     
00090     virtual EventSource* currentEvent()=0;
00091     virtual EventSource* currentFlux()=0;
00092 
00094     virtual void writeSourceCharacteristic(std::ostream& out)=0;
00095 
00096     //get the transformtation matrix - the rest of these functions are now deprecated
00097     virtual CLHEP::HepRotation transformToGlast(double seconds,int  index)const=0;
00098 
00099 };
00100 
00101 
00102 #endif // _H_FluxSvc

Generated on Mon Dec 1 13:29:59 2008 by doxygen 1.3.3