CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_4_5_patch3/src/DQM/CSCMonitorModule/interface/CSCMonitorObject.h

Go to the documentation of this file.
00001 /*
00002  * =====================================================================================
00003  *
00004  *       Filename:  MonitorObject.h
00005  *
00006  *    Description:  Monitor Object envelope
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 CSCMonitorObject_H
00020 #define CSCMonitorObject_H
00021 
00022 #include "DQMServices/Core/interface/MonitorElement.h"
00023 #include "DQM/CSCMonitorModule/interface/CSCDQM_MonitorObject.h"
00024 
00029 class CSCMonitorObject : public cscdqm::MonitorObject {
00030 
00031   private:
00032 
00033     MonitorElement *me;
00034 
00035   public: 
00036 
00037     CSCMonitorObject(MonitorElement* p_me){ me = p_me; }
00038     virtual ~CSCMonitorObject() { }
00039 
00040     void Fill(float x) { 
00041       cscdqm::LockType lock(mutex);
00042       me->Fill(x); 
00043     }
00044 
00045     void Fill(float x, float yw) { 
00046       cscdqm::LockType lock(mutex);
00047       me->Fill(x, yw); 
00048     }
00049 
00050     void Fill(float x, float y, float zw) { 
00051       cscdqm::LockType lock(mutex);
00052       me->Fill(x, y, zw); 
00053     }
00054 
00055     void Fill(float x, float y, float z, float w) { 
00056       cscdqm::LockType lock(mutex);
00057       me->Fill(x, y, z, w); 
00058     }
00059 
00060     void SetEntries(const double value) { 
00061       cscdqm::LockType lock(mutex);
00062       me->setEntries(value); 
00063     }
00064     
00065     void SetBinContent(const int binX, const double value) { 
00066       cscdqm::LockType lock(mutex);
00067       me->setBinContent(binX, value);  
00068     }
00069     
00070     void SetBinContent(const int binX, const int binY, const double value) { 
00071       cscdqm::LockType lock(mutex);
00072       me->setBinContent(binX, binY, value); 
00073     }
00074     
00075     double GetBinContent(const int binX) { 
00076       cscdqm::LockType lock(mutex);
00077       double d = me->getBinContent(binX); 
00078       return d;
00079     }
00080     
00081     double GetBinContent(const int binX, int binY) { 
00082       cscdqm::LockType lock(mutex);
00083       double d = me->getBinContent(binX, binY); 
00084       return d;
00085     }
00086     
00087     void SetAxisRange(const double from, const double to, const std::string& axis) {
00088       cscdqm::LockType lock(mutex);
00089       me->getTH1()->SetAxisRange(from, to, axis.c_str());
00090     }
00091     
00092     void setAxisTitle(const std::string title, const int axisN) { 
00093       cscdqm::LockType lock(mutex);
00094       me->setAxisTitle(title, axisN);  
00095     } 
00096 
00097     const int GetMaximumBin() {
00098       cscdqm::LockType lock(mutex);
00099       int i = me->getTH1()->GetMaximumBin();
00100       return i;
00101     }
00102 
00103     void SetNormFactor(const double factor) {
00104       cscdqm::LockType lock(mutex);
00105       me->getTH1()->SetNormFactor(factor);
00106     }
00107 
00108     const double GetEntries() {
00109       cscdqm::LockType lock(mutex);
00110       double d = me->getTH1()->GetEntries();
00111       return d;
00112     }
00113 
00114     void SetMaximum(const double d) {
00115       cscdqm::LockType lock(mutex);
00116       me->getTH1()->SetMaximum(d);
00117     }
00118 
00119     const TObject *getRefRootObject(void) const {
00120       return me->getRefRootObject();
00121     }
00122 
00123     const double GetBinError(const int bin) {
00124       cscdqm::LockType lock(mutex);
00125       double d = me->getTH1()->GetBinError(bin);
00126       return d;
00127     }
00128 
00129     void SetBinError(const int bin, const double error) {
00130       cscdqm::LockType lock(mutex);
00131       me->getTH1()->SetBinError(bin, error);
00132     }
00133 
00134     const TH1 *getTH1(void) const {
00135       return me->getTH1(); 
00136     }
00137     
00138     TH1 *getTH1Lock(void) { 
00139       return me->getTH1(); 
00140     }
00141     
00142 
00143 };
00144 
00145 #endif