00001 /* 00002 * MixInputSvc 00003 * Interface of MixInputSvc 00004 * 00005 * Get one PerSimHeaders and convert them to SimHeaders 00006 * 00007 * yczhang@ihep.ac.cn Nov 28, 2010 00008 */ 00009 00010 00011 #ifndef IMIXINPUTSVC_H 00012 #define IMIXINPUTSVC_H 00013 00014 #include <map> 00015 #include <deque> 00016 #include <string> 00017 #include <vector> 00018 00019 #include "Event/GenHeader.h" 00020 #include "Event/SimHeader.h" 00021 00022 #include "GaudiKernel/IInterface.h" 00023 00024 class RootInputStream; 00025 class PerSimHeader; 00026 00027 using namespace std; 00028 using namespace DayaBay; 00029 00030 static const InterfaceID IID_IMixInputSvc("IMixInputSvc",0,0); 00031 00032 class IMixInputSvc : virtual public IInterface 00033 { 00034 public: 00035 static const InterfaceID& interfaceID() 00036 { return IID_IMixInputSvc; } 00037 00038 virtual StatusCode prepareStream() = 0; 00039 //Get the SimHeader and its GenHeader(not by TES) 00040 virtual StatusCode getSimHeader(GenHeader*& gh, SimHeader*& sh) = 0; 00041 00042 virtual void setInputFiles(const vector<string>& inputs) = 0; 00043 }; 00044 00045 #endif //IMixInputSvc_H 00046