00001 00015 #ifndef LARLIGHT_BASE_HH 00016 #define LARLIGHT_BASE_HH 00017 00018 #include <vector> 00019 #include "FrameworkConstants.hh" 00020 #include "messenger.hh" 00021 00022 namespace larlight{ 00023 00028 class larlight_base { 00029 00030 public: 00031 00033 larlight_base() : _verbosity(MSG::MSG_TYPE_MAX,false), _name("larlight_base") 00034 {set_verbosity(MSG::NORMAL);} 00035 00037 larlight_base(const larlight_base &original) : _name(original._name){}; 00038 00040 virtual ~larlight_base(){}; 00041 00043 virtual void set_verbosity(MSG::Level level); 00044 00046 inline MSG::Level get_verbosity() const {return _verbosity_level;}; 00047 00049 inline const std::string class_name() const {return _name;}; 00050 00052 inline void print(MSG::Level level, std::string where, std::string msg) const 00053 {if(_verbosity.at(level)) Message::send(level,where,msg);}; 00054 00056 inline void print(MSG::Level level, std::string msg) const 00057 {if(_verbosity.at(level)) Message::send(level,msg);}; 00058 00059 protected: 00060 00061 char _buf[200]; 00062 std::vector<bool> _verbosity; 00063 MSG::Level _verbosity_level; 00064 std::string _name; 00065 00066 }; 00067 } 00068 #endif 00069 // end of doxygen group