CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
IntegrityTask.h
Go to the documentation of this file.
1 #ifndef IntegrityTask_H
2 #define IntegrityTask_H
3 
4 #include "DQWorkerTask.h"
5 
7 
10 
11 namespace ecaldqm
12 {
13 
14  class IntegrityTask : public DQWorkerTask {
15  public:
16  IntegrityTask();
18 
19  void beginLuminosityBlock(edm::LuminosityBlock const&, edm::EventSetup const&) override;
20 
21  bool analyze(void const*, Collections) override;
22 
23  template<class C> void runOnDetIdCollection(C const&, Collections);
25  };
26 
27  inline bool IntegrityTask::analyze(void const* _p, Collections _collection){
28  switch(_collection){
29  case kEBGainErrors:
30  case kEBChIdErrors:
32  if(_p) runOnDetIdCollection(*static_cast<EBDetIdCollection const*>(_p), _collection);
33  return true;
34  case kEEGainErrors:
35  case kEEChIdErrors:
37  if(_p) runOnDetIdCollection(*static_cast<EEDetIdCollection const*>(_p), _collection);
38  return true;
39  break;
40  case kTowerIdErrors:
41  case kBlockSizeErrors:
42  if(_p) runOnElectronicsIdCollection(*static_cast<EcalElectronicsIdCollection const*>(_p), _collection);
43  return true;
44  break;
45  default:
46  break;
47  }
48 
49  return false;
50  }
51 
52 }
53 
54 #endif
55 
void runOnDetIdCollection(C const &, Collections)
void runOnElectronicsIdCollection(EcalElectronicsIdCollection const &, Collections)
void beginLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &) override
bool analyze(void const *, Collections) override
Definition: IntegrityTask.h:27