Main Page | Modules | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members

EventMultiSplitter.hpp

Go to the documentation of this file.
00001 
00002 
00003 
00004 
00005 
00006 #ifndef __EventMultiSplitter__
00007 #define __EventMultiSplitter__
00008 
00009 
00010 #include "cafe/Controller.hpp"
00011 
00012 namespace cafe {
00013   class Stat;
00014   class PermuterBase;
00015 
00016   class EventMultiSplitter  : public cafe::Controller  {
00017   public:
00018 
00019         EventMultiSplitter (const char *name);
00020         ~EventMultiSplitter (void);
00021 
00022         bool processEvent (cafe::Event &event);
00023 
00024         void finish (void);
00025 
00027         class callback {
00028           friend class EventMultiSplitter;
00029         public:
00030           void operator() (double weight);
00031           inline Event &event() {return _event;};
00032         private:
00033           cafe::Event &_event;
00034           callback (cafe::EventMultiSplitter &splitter, Event &event);
00035           cafe::EventMultiSplitter &_splitter;
00036         };
00037 
00038   private:
00039           ClassDef (EventMultiSplitter,1);
00040 
00041           cafe::PermuterBase *_perm;
00042           cafe::Stat *_local_stat;
00043 
00044           void processPermutation (double weight, Event &event);
00045   };
00046 }
00047 
00048 #endif

Generated on Tue Mar 28 10:13:03 2006 for CAF by doxygen 1.3.4