00001 #ifndef ___PROBEMANAGER_H___
00002 #define ___PROBEMANAGER_H___
00003 
00004 #include <string>
00005 #include "detime.h"
00006 #include "parmanager.h"
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 
00022 
00023 
00024 
00025 
00026 
00027 
00028 
00029 
00030 
00036 
00058 class Probe;
00059 
00060 class ProbeManager
00061 {
00062  protected:
00063   ParamManager* Param;
00064   list<Probe *> theProbes;
00065   map<string,bool> theProbesNames;
00066   
00067   DETime ProbeOutInterval;
00068   
00069   string BaseFileName;
00070   string PreFileName;
00071   string PostFileName;
00072   
00073   DETime StartCollectAt;
00074   bool CollectionStarted;
00075   
00076  public:
00077   ProbeManager( ParamManager* _Param );
00078   ~ProbeManager();
00079   
00080   void Initialize( int RunNumber );
00081   
00082   void RegisterProbe( Probe *theProbe, bool isGlobal );
00083   void UnRegisterProbe( Probe *theProbe );
00084   
00085   void WriteToFile(double Time);
00086 };
00087 
00089 
00090 #endif
00091