CMS 3D CMS Logo

CSCDQM_MonitorObjectProvider.h
Go to the documentation of this file.
1 /*
2  * =====================================================================================
3  *
4  * Filename: CSCDQM_MonitorObjectProviderIf.h
5  *
6  * Description: Histo Provider Interface
7  *
8  * Version: 1.0
9  * Created: 10/03/2008 10:26:04 AM
10  * Revision: none
11  * Compiler: gcc
12  *
13  * Author: Valdas Rapsevicius, valdas.rapsevicius@cern.ch
14  * Company: CERN, CH
15  *
16  * =====================================================================================
17  */
18 
19 #ifndef CSCDQM_MonitorObjectProviderIf_H
20 #define CSCDQM_MonitorObjectProviderIf_H
21 
23 
24 #include "CSCDQM_HistoDef.h"
25 #include "CSCDQM_MonitorObject.h"
26 
27 namespace cscdqm {
28 
30 
32 
33  const HistoDef *hdef;
38 
39  int nchX;
40  double lowX;
41  double highX;
42 
43  int nchY;
44  double lowY;
45  double highY;
46 
47  int nchZ;
48  double lowZ;
49  double highZ;
50 
54 
56 
57  HistoBookRequest (const HistoDef& p_hdef, const HistoType& p_htype, const std::string& p_ctype,
58  const std::string& p_folder, const std::string& p_title,
59  const int p_nchX = 0, const double p_lowX = 0, const double p_highX = 0,
60  const int p_nchY = 0, const double p_lowY = 0, const double p_highY = 0,
61  const int p_nchZ = 0, const double p_lowZ = 0, const double p_highZ = 0,
62  const std::string& p_option = "s") {
63  hdef = &p_hdef;
64  htype = p_htype;
65  ctype = p_ctype;
66  folder = p_folder;
67  title = p_title;
68  nchX = p_nchX;
69  lowX = p_lowX;
70  highX = p_highX;
71  nchY = p_nchY;
72  lowY = p_lowY;
73  highY = p_highY;
74  nchZ = p_nchZ;
75  lowZ = p_lowZ;
76  highZ = p_highZ;
77  option = p_option;
78  }
79 
80  HistoBookRequest (const HistoDef& p_hdef, const std::string& p_folder, const int p_value) {
81  hdef = &p_hdef;
82  htype = INT;
83  ctype = "INT";
84  folder = p_folder;
85  title = p_hdef.getHistoName();
86  default_int = p_value;
87  }
88 
89  HistoBookRequest (const HistoDef& p_hdef, const std::string& p_folder, const float p_value) {
90  hdef = &p_hdef;
91  htype = FLOAT;
92  ctype = "FLOAT";
93  folder = p_folder;
94  title = p_hdef.getHistoName();
95  default_float = p_value;
96  }
97 
98  HistoBookRequest (const HistoDef& p_hdef, const std::string& p_folder,
99  const std::string& p_title, const std::string& p_value) {
100  hdef = &p_hdef;
101  htype = STRING;
102  ctype = "STRING";
103  folder = p_folder;
104  title = p_title;
105  default_string = p_value;
106  }
107 
108  };
109 
116 
117  public:
119  virtual bool getCSCDetId(const unsigned int crateId, const unsigned int dmbId, CSCDetId& detId) const = 0;
120  virtual MonitorObject *bookMonitorObject (const HistoBookRequest& p_req) = 0;
121  };
122 
123 }
124 
125 #endif
const HistoName & getHistoName() const
Get raw histogram name.
HistoBookRequest(const HistoDef &p_hdef, const HistoType &p_htype, const std::string &p_ctype, const std::string &p_folder, const std::string &p_title, const int p_nchX=0, const double p_lowX=0, const double p_highX=0, const int p_nchY=0, const double p_lowY=0, const double p_highY=0, const int p_nchZ=0, const double p_lowZ=0, const double p_highZ=0, const std::string &p_option="s")
Monitoring Object interface used to cover Root object and provide common interface to EventProcessor ...
Abstract Base Histogram Definition.
#define noexcept
HistoBookRequest(const HistoDef &p_hdef, const std::string &p_folder, const std::string &p_title, const std::string &p_value)
HistoBookRequest(const HistoDef &p_hdef, const std::string &p_folder, const float p_value)
Interface for Histogram providing objects. Used by Event Processor to retrieve MonitorObject 's and b...
HistoBookRequest(const HistoDef &p_hdef, const std::string &p_folder, const int p_value)