Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:06:57

0001 /*
0002  * =====================================================================================
0003  *
0004  *       Filename:  CSCDQM_MonitorObject.h
0005  *
0006  *    Description:  Monitor Object interface
0007  *
0008  *        Version:  1.0
0009  *        Created:  10/06/2008 01:49:51 PM
0010  *       Revision:  none
0011  *       Compiler:  gcc
0012  *
0013  *         Author:  Valdas Rapsevicius, valdas.rapsevicius@cern.ch
0014  *        Company:  CERN, CH
0015  *
0016  * =====================================================================================
0017  */
0018 
0019 #ifndef CSCDQM_MonitorObject_H
0020 #define CSCDQM_MonitorObject_H
0021 
0022 #include <TH1.h>
0023 
0024 #include "CSCDQM_Logger.h"
0025 #include "CSCDQM_Lock.h"
0026 
0027 namespace cscdqm {
0028 
0029   /**
0030    * @class MonitorObject
0031    * @brief Monitoring Object interface used to cover Root object and provide
0032    * common interface to EventProcessor and Collection objects. Used by
0033    * HistoProvider interface.
0034    */
0035   class MonitorObject : public Lock {
0036   public:
0037     virtual void Fill(float x) = 0;
0038     virtual void Fill(float x, float yw) = 0;
0039     virtual void Fill(float x, float y, float zw) = 0;
0040     virtual void Fill(float x, float y, float z, float w) = 0;
0041     virtual const TH1 *getTH1(void) const = 0;
0042     virtual TH1 *getTH1Lock(void) = 0;
0043     virtual void SetEntries(const double value) = 0;
0044     virtual const double GetEntries() = 0;
0045     virtual void SetBinContent(const int binX, const double value) = 0;
0046     virtual void SetBinContent(const int binX, const int binY, const double value) = 0;
0047     virtual double GetBinContent(const int binX) = 0;
0048     virtual double GetBinContent(const int binX, int binY) = 0;
0049     virtual void SetAxisRange(const double from, const double to, const std::string &axis) = 0;
0050     virtual void setAxisTitle(const std::string title, const int axisN) = 0;
0051     virtual const TObject *getRefRootObject(void) const = 0;
0052     virtual const int GetMaximumBin() = 0;
0053     virtual void SetMaximum(const double d) = 0;
0054     virtual void SetNormFactor(const double factor = 1) = 0;
0055     virtual const double GetBinError(const int bin) = 0;
0056     virtual void SetBinError(const int bin, const double error) = 0;
0057   };
0058 
0059 }  // namespace cscdqm
0060 
0061 #endif