00001 #ifndef __OSCAR_SOURCE_GEN3DCART_H__
00002 #define __OSCAR_SOURCE_GEN3DCART_H__
00003
00004 #include "parametermap.h"
00005 #include "oscar_source_generatorbase.h"
00006 #include "sou3d_histo.h"
00007
00013 class COSCARSourceGenerator3dCart: public COSCARSourceGeneratorBase{
00014
00015 public:
00016
00017 COSCARSourceGenerator3dCart( void ): COSCARSourceGeneratorBase(), result(),
00018 maxS(0.0), minS(0.0), maxO(0.0), minO(0.0), maxL(0.0), minL(0.0){for (int i=0;i<3;++i) fold[i]=false;}
00019 ~COSCARSourceGenerator3dCart( void ){}
00020
00021 bool Read( const parameterMap& m );
00022 bool Write( parameterMap& m);
00023
00024 bool addOnePair( const COSCARLine& p1, const COSCARLine& p2 );
00025 bool postProcessPairs( void );
00026
00027 CSourceFtn3dHisto generateSource( vector<COSCARLine> plist, const parameterMap& m );
00028
00029 private:
00030
00031 CSourceFtn3dHisto result;
00032 double maxS,minS,maxO,minO,maxL,minL;
00033 bool fold[3];
00034 };
00035
00036 #endif