CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_7/src/DQM/CSCMonitorModule/plugins/CSCDQM_MonitorObject.h

Go to the documentation of this file.
00001 /*
00002  * =====================================================================================
00003  *
00004  *       Filename:  CSCDQM_MonitorObject.h
00005  *
00006  *    Description:  Monitor Object interface
00007  *
00008  *        Version:  1.0
00009  *        Created:  10/06/2008 01:49:51 PM
00010  *       Revision:  none
00011  *       Compiler:  gcc
00012  *
00013  *         Author:  Valdas Rapsevicius, valdas.rapsevicius@cern.ch
00014  *        Company:  CERN, CH
00015  *
00016  * =====================================================================================
00017  */
00018 
00019 #ifndef CSCDQM_MonitorObject_H
00020 #define CSCDQM_MonitorObject_H
00021 
00022 #include <TH1.h>
00023 
00024 #include "CSCDQM_Logger.h"
00025 #include "CSCDQM_Lock.h"
00026 
00027 namespace cscdqm {
00028 
00035   class MonitorObject : public Lock {
00036   
00037     public: 
00038 
00039       virtual void Fill(float x) = 0;
00040       virtual void Fill(float x, float yw) = 0;
00041       virtual void Fill(float x, float y, float zw) = 0;
00042       virtual void Fill(float x, float y, float z, float w) = 0;
00043       virtual const TH1 *getTH1(void) const = 0;
00044       virtual TH1 *getTH1Lock(void) = 0; 
00045       virtual void SetEntries(const double value) = 0;
00046       virtual const double GetEntries() = 0;
00047       virtual void SetBinContent(const int binX, const double value) = 0;
00048       virtual void SetBinContent(const int binX, const int binY, const double value) = 0;
00049       virtual double GetBinContent(const int binX) = 0;
00050       virtual double GetBinContent(const int binX, int binY) = 0;
00051       virtual void SetAxisRange(const double from, const double to, const std::string& axis) = 0;
00052       virtual void setAxisTitle(const std::string title, const int axisN) = 0;
00053       virtual const TObject *getRefRootObject(void) const = 0;
00054       virtual const int GetMaximumBin() = 0;
00055       virtual void SetMaximum(const double d) = 0;
00056       virtual void SetNormFactor(const double factor = 1) = 0;
00057       virtual const double GetBinError(const int bin) = 0;
00058       virtual void SetBinError(const int bin, const double error) = 0;
00059 
00060   };
00061 
00062 }
00063 
00064 #endif