emcBadModules.h

Go to the documentation of this file.
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) // ABC of an advanced list of bad emcal modules.
00134 };
00135  
00136 inline
00137 std::ostream& operator << (std::ostream& out, emcBadModules& bm)
00138 { 
00139   return bm.Print(0,out); 
00140 }
00141 
00142 #endif