CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
DataFrame.h
Go to the documentation of this file.
1 #ifndef DataFormats_Common_DataFrame_h
2 #define DataFormats_Common_DataFrame_h
3 
4 namespace edm {
5 
6  class DataFrameContainer;
7 
8  /* a proxy to a fixed size array of 16bit words belonging to
9  * a "channel" identified by an 32bit id
10  *
11  * FIXME interface to be finalized once use-cases fully identified
12  *
13  */
14  class DataFrame {
15  public:
16 
17  typedef unsigned int size_type; // for persistency
18  typedef unsigned int id_type;
19  typedef unsigned short data_type;
20  typedef data_type * iterator;
21  typedef data_type const * const_iterator;
22 
23 
24  inline
25  DataFrame() : m_id(0), m_data(0), m_size(0){}
26  inline
27  DataFrame(id_type i, data_type const * idata, size_type isize) :
28  m_id(i), m_data(idata), m_size(isize) {}
29 
30  inline
31  DataFrame(DataFrameContainer const & icont,
32  size_type i);
33  inline
34  void set(DataFrameContainer const & icont,
35  size_type i);
36  inline
38  return data()[i];
39  }
40 
41  inline
43  return m_data[i];
44  }
45 
46  inline
47  iterator begin() { return data();}
48 
49  inline
50  iterator end() { return data()+m_size;}
51 
52  inline
53  const_iterator begin() const { return m_data;}
54 
55  inline
56  const_iterator end() const { return m_data+m_size;}
57 
58 
59  inline
60  id_type id() const { return m_id;}
61 
62  inline
63  size_type size() const { return m_size; }
64 
65  private:
67  return const_cast<data_type *>(m_data);
68  }
69 
71  data_type const * m_data;
73  };
74 }
75 
76 #endif // DataFormats_Common_DataFrame_h
unsigned int id_type
Definition: DataFrame.h:18
int i
Definition: DBlmapReader.cc:9
data_type const * m_data
Definition: DataFrame.h:71
unsigned short data_type
Definition: DataFrame.h:19
const_iterator begin() const
Definition: DataFrame.h:53
id_type m_id
Definition: DataFrame.h:70
iterator begin()
Definition: DataFrame.h:47
unsigned int size_type
Definition: DataFrame.h:17
data_type & operator[](size_type i)
Definition: DataFrame.h:37
const_iterator end() const
Definition: DataFrame.h:56
iterator end()
Definition: DataFrame.h:50
void set(DataFrameContainer const &icont, size_type i)
DataFrame(id_type i, data_type const *idata, size_type isize)
Definition: DataFrame.h:27
size_type m_size
Definition: DataFrame.h:72
data_type operator[](size_type i) const
Definition: DataFrame.h:42
data_type * iterator
Definition: DataFrame.h:20
data_type const * const_iterator
Definition: DataFrame.h:21
size_type size() const
Definition: DataFrame.h:63
data_type * data()
Definition: DataFrame.h:66
id_type id() const
Definition: DataFrame.h:60