00001 #ifndef __EMCBADMODULES_H__
00002 #define __EMCBADMODULES_H__
00003
00004 #ifndef __PHOBJECT_H__
00005 #include "PHObject.h"
00006 #endif
00007 #include <iostream>
00008
00064 class emcBadModules : public PHObject
00065 {
00066
00067 public:
00068
00069 enum EInformationOrigin {
00071 kNone=-1,
00073 kOnline,
00075 kPhysics,
00077 kAll };
00078
00080 virtual ~emcBadModules();
00081
00082 virtual emcBadModules* clone(void) const = 0;
00083
00089
00090 virtual unsigned int Deadmap(int towerID) = 0;
00092 virtual unsigned int DeadmapFast(int towerID) const = 0;
00093
00095 virtual unsigned int Warnmap(int towerID) = 0;
00097 virtual unsigned int WarnmapFast(int towerID) const = 0;
00099
00106
00107 using TObject::Error;
00108 using TObject::Warning;
00109
00111 virtual unsigned int Error(emcBadModules::EInformationOrigin source,
00112 int towerID) = 0;
00114 virtual unsigned int ErrorFast(emcBadModules::EInformationOrigin source,
00115 int towerID) const = 0;
00117 virtual unsigned int Warning(emcBadModules::EInformationOrigin source,
00118 int towerID) = 0;
00120 virtual unsigned int WarningFast(emcBadModules::EInformationOrigin source,
00121 int towerID) const = 0;
00122
00124
00125 using TObject::Print;
00126
00128 virtual std::ostream& Print(int towerid=-1, std::ostream& out=std::cout) = 0;
00129
00131 virtual unsigned int size(void) const = 0;
00132
00133 ClassDef(emcBadModules,0)
00134 };
00135
00136 inline
00137 std::ostream& operator << (std::ostream& out, emcBadModules& bm)
00138 {
00139 return bm.Print(0,out);
00140 }
00141
00142 #endif