00001 #ifndef TrigConf_HLTStreamTag
00002 #define TrigConf_HLTStreamTag
00003
00004 #include "TrigConfL1Data/TrigConfData.h"
00005
00006 #include <iosfwd>
00007 #include <fstream>
00008 #include <string>
00009
00010 namespace TrigConf {
00011
00012 class HLTStreamTag;
00013 std::ostream & operator<<(std::ostream &, const TrigConf::HLTStreamTag &);
00014
00019 class HLTStreamTag : public TrigConfData {
00020
00021 public:
00022
00024 HLTStreamTag();
00025
00033 HLTStreamTag(const std::string& stream, const std::string& type, bool obeyLB, float prescale);
00034
00036 ~HLTStreamTag( void ){};
00037
00038 bool operator==(const HLTStreamTag &);
00039
00040
00041 const std::string& stream() const { return m_stream; }
00042 const std::string& type() const { return m_type; }
00043 bool obeyLB() const { return m_obeyLB; }
00044 float prescale() const { return m_prescale; }
00045
00046
00047 void set_stream ( const std::string& stream ) { m_stream = stream; setName(m_type+"."+m_stream); }
00048 void set_type ( const std::string& type ) { m_type = type; setName(m_type+"."+m_stream); }
00049 void set_obeyLB ( bool val ) { m_obeyLB = val; }
00050 void set_prescale( float val ) { m_prescale = val; }
00051
00052
00053 void print(const std::string& indent="", unsigned int detail=1) const;
00054
00055 void writeXML(std::ofstream & xmlfile) const;
00056
00057 private:
00058
00059 std::string m_stream;
00060 std::string m_type;
00061 bool m_obeyLB;
00062 float m_prescale;
00063
00064 friend std::ostream & operator<<(std::ostream &, const TrigConf::HLTStreamTag &);
00065 };
00066
00067 }
00068
00069 #endif