Go to the documentation of this file.00001
00003
00004 #ifndef EventFilter_StorageManager_EventStreamConfigurationInfo_h
00005 #define EventFilter_StorageManager_EventStreamConfigurationInfo_h
00006
00007 #include "IOPool/Streamer/interface/HLTInfo.h"
00008 #include "EventFilter/StorageManager/interface/StreamID.h"
00009
00010 #include <boost/shared_ptr.hpp>
00011
00012 #include <string>
00013 #include <vector>
00014 #include <iosfwd>
00015
00016 namespace stor
00017 {
00018
00027 class EventStreamConfigurationInfo
00028 {
00029
00030 public:
00031
00032
00033 EventStreamConfigurationInfo( const std::string& streamLabel,
00034 const int maxFileSizeMB,
00035 const std::string& triggerSelection,
00036 const Strings& eventSelection,
00037 const std::string& outputModuleLabel,
00038 double fractionToDisk ):
00039 streamLabel_( streamLabel ),
00040 maxFileSizeMB_( maxFileSizeMB ),
00041 triggerSelection_( triggerSelection ),
00042 eventSelection_( eventSelection ),
00043 outputModuleLabel_( outputModuleLabel ),
00044 fractionToDisk_( fractionToDisk ),
00045 streamId_(0)
00046 {}
00047
00048
00049 ~EventStreamConfigurationInfo() {}
00050
00051
00052 const std::string& streamLabel() const { return streamLabel_; }
00053 const int maxFileSizeMB() const { return maxFileSizeMB_; }
00054 const std::string& triggerSelection() const { return triggerSelection_; }
00055 const Strings& eventSelection() const { return eventSelection_; }
00056 const std::string& outputModuleLabel() const { return outputModuleLabel_; }
00057 double fractionToDisk() const { return fractionToDisk_; }
00058 StreamID streamId() const { return streamId_; }
00059
00060
00061 bool operator<(const EventStreamConfigurationInfo&) const;
00062
00063
00064 void setStreamId( StreamID sid ) { streamId_ = sid; }
00065
00066
00067 friend std::ostream& operator <<
00068 ( std::ostream&, const EventStreamConfigurationInfo& );
00069
00070 private:
00071
00072 std::string streamLabel_;
00073 int maxFileSizeMB_;
00074 std::string triggerSelection_;
00075 Strings eventSelection_;
00076 std::string outputModuleLabel_;
00077 double fractionToDisk_;
00078 StreamID streamId_;
00079
00080 };
00081
00082 typedef std::vector<EventStreamConfigurationInfo> EvtStrConfigList;
00083 typedef boost::shared_ptr<EvtStrConfigList> EvtStrConfigListPtr;
00084
00085 std::ostream& operator << ( std::ostream&, const EventStreamConfigurationInfo& );
00086
00087 }
00088
00089 #endif // EventFilter_StorageManager_EventStreamConfigurationInfo_h
00090
00091