File indexing completed on 2024-04-06 12:08:28
0001 #ifndef DQM_SiStripCommissioningAnalysis_CommissioningAlgorithm_H
0002 #define DQM_SiStripCommissioningAnalysis_CommissioningAlgorithm_H
0003
0004 #include <vector>
0005 #include <string>
0006 #include <cstdint>
0007
0008 class CommissioningAlgorithm;
0009 class CommissioningAnalysis;
0010 class TH1;
0011
0012
0013
0014
0015
0016
0017 class CommissioningAlgorithm {
0018 public:
0019 CommissioningAlgorithm(CommissioningAnalysis* const);
0020
0021 CommissioningAlgorithm();
0022
0023 virtual ~CommissioningAlgorithm() { ; }
0024
0025 typedef std::pair<TH1*, std::string> Histo;
0026
0027
0028 void analysis(const std::vector<TH1*>&);
0029
0030 protected:
0031
0032 uint32_t extractFedKey(const TH1* const);
0033
0034
0035 virtual void extract(const std::vector<TH1*>&) = 0;
0036
0037
0038 virtual void analyse() = 0;
0039
0040
0041 inline CommissioningAnalysis* const anal() const;
0042
0043 private:
0044
0045 CommissioningAnalysis* anal_;
0046 };
0047
0048
0049
0050 CommissioningAnalysis* const CommissioningAlgorithm::anal() const { return anal_; }
0051
0052 #endif