q_by_lane_metric.h
Go to the documentation of this file.
1 
13 #pragma once
16 
17 namespace illumina { namespace interop { namespace model { namespace metrics
18 {
21  class q_by_lane_metric : public q_metric
22  {
23  public:
24  enum {
25 
30  };
33  public:
41  q_by_lane_metric(const header_type& header) : q_metric(header)
42  {
43  }
52  const uint_t tile,
53  const uint_t cycle,
54  const uint32_vector& qscore_hist) : q_metric(lane, tile, cycle, qscore_hist){}
55 
67  public:
72  void accumulate_by_lane(const q_metric& metric)
73  {
74  typedef uint32_vector::const_iterator const_iterator;
75  typedef uint32_vector::iterator iterator;
76  iterator it = m_qscore_hist.begin();
77  for (const_iterator beg = metric.qscore_hist().begin(), end = metric.qscore_hist().end();
78  beg != end; ++beg, ++it)
79  *it += *beg;
80  }
81 
82  public:
87  static const char* suffix(){return "ByLane";}
88  };
89 
90 }}}}
91 
92 
Definition: enum_description.h:15
uint_t tile() const
Definition: base_metric.h:284
std::vector< ::uint32_t > uint32_vector
Definition: q_metric.h:269
q_by_lane_metric(const uint_t lane, const uint_t tile, const uint_t cycle, const uint32_vector &qscore_hist)
Definition: q_by_lane_metric.h:51
q_by_lane_metric(const header_type &header)
Definition: q_by_lane_metric.h:41
uint_t cycle() const
Definition: base_cycle_metric.h:131
Definition: type_traits.h:131
uint_t qscore_hist(const size_t n) const INTEROP_THROW_SPEC((model
Definition: q_metric.h:361
::uint32_t uint_t
Definition: base_metric.h:77
uint_t lane() const
Definition: base_metric.h:269
void accumulate_by_lane(const q_metric &metric)
Definition: q_by_lane_metric.h:72
const uint32_vector & qscore_hist() const
Definition: q_metric.h:371
uint32_vector m_qscore_hist
Definition: q_metric.h:694
q_by_lane_metric()
Definition: q_by_lane_metric.h:36
static const char * suffix()
Definition: q_by_lane_metric.h:87
constants::base_lane_t base_t
Definition: q_by_lane_metric.h:32