CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
HGCDataFrame.h
Go to the documentation of this file.
1 #ifndef DIGIHGCAL_HGCDATAFRAME_H
2 #define DIGIHGCAL_HGCDATAFRAME_H
3 
4 #include <vector>
5 #include <ostream>
6 #include <iostream>
7 
13 template <class D, class S>
14 class HGCDataFrame {
15 public:
16 
20  typedef D key_type;
21 
26  explicit HGCDataFrame(const D& id) : id_(id), maxSampleSize_(15) { data_.resize(maxSampleSize_); }
27 
31  const D& id() const { return id_; }
32 
36  int size() const { return data_.size() & 0xf; }
37 
41  void resize(size_t s) { data_.resize(s); }
42 
46  const S& operator[](int i) const { return data_[i]; }
47  const S& sample(int i) const { return data_[i]; }
48  void setSample(int i, const S &sample) { if(i<(int)data_.size()) data_[i]=sample; }
49  void print(std::ostream &out=std::cout)
50  {
51  for(size_t i=0; i<data_.size(); i++)
52  {
53  out << "[" << i << "] ";
54  data_[i].print(out);
55  }
56  }
57 
58 
59 private:
60 
61  //collection of samples
62  std::vector<S> data_;
63 
64  // det id for this data frame
65  D id_;
66 
67  //number of samples and maximum available
69 
70 };
71 
72 #endif
int i
Definition: DBlmapReader.cc:9
size_t maxSampleSize_
Definition: HGCDataFrame.h:68
void print(std::ostream &out=std::cout)
Definition: HGCDataFrame.h:49
void resize(size_t s)
allow to set size
Definition: HGCDataFrame.h:41
const S & sample(int i) const
Definition: HGCDataFrame.h:47
const S & operator[](int i) const
assess/set specific samples
Definition: HGCDataFrame.h:46
D key_type
key to sort the collection
Definition: HGCDataFrame.h:20
HGCDataFrame(const D &id)
Definition: HGCDataFrame.h:26
std::vector< S > data_
Definition: HGCDataFrame.h:62
const D & id() const
det id
Definition: HGCDataFrame.h:31
DecomposeProduct< arg, typename Div::arg > D
Definition: Factorize.h:150
double S(const TLorentzVector &, const TLorentzVector &)
Definition: Particle.cc:99
Readout digi for HGC.
Definition: HGCDataFrame.h:14
void setSample(int i, const S &sample)
Definition: HGCDataFrame.h:48
tuple cout
Definition: gather_cfg.py:145
HGCDataFrame()
CTOR.
Definition: HGCDataFrame.h:25
int size() const
total number of samples in the digi
Definition: HGCDataFrame.h:36