test
CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
EcalDigiCollections.h
Go to the documentation of this file.
1 #ifndef DIGIECAL_ECALDIGICOLLECTION_H
2 #define DIGIECAL_ECALDIGICOLLECTION_H
3 
16 
20 
22 public:
24  static const size_type MAXSAMPLES = 10;
25  explicit EcalDigiCollection(size_type istride=MAXSAMPLES, int isubdet=0) :
26  edm::DataFrameContainer(istride, isubdet){}
27  void swap(DataFrameContainer& other) {this->DataFrameContainer::swap(other);}
28 };
29 
30 // make edm (and ecal client) happy
32 public:
34  typedef EBDataFrame Digi;
36 
38  EcalDigiCollection(istride, EcalBarrel){}
39  void swap(EBDigiCollection& other) {this->EcalDigiCollection::swap(other);}
40 };
41 
43 public:
45  typedef EEDataFrame Digi;
47 
49  EcalDigiCollection(istride, EcalEndcap){}
50  void swap(EEDigiCollection& other) {this->EcalDigiCollection::swap(other);}
51 };
52 
54 {
55  public:
57  typedef ESDataFrame Digi;
59 
63  void swap(ESDigiCollection& other) {this->EcalDigiCollection::swap(other);}
64 
65  void push_back( unsigned int i )
66  {
67  DataFrameContainer::push_back( i ) ;
68  }
69 
70  void push_back( const Digi& digi )
71  {
72  uint16_t esdata[NSAMPLE] ;
73  for( unsigned int i ( 0 ) ; i != NSAMPLE; ++i )
74  {
75  static const int offset ( 65536 ) ; // for int16 to uint16
76  const int16_t dshort ( digi[i].raw() ) ;
77  const int dint ( (int) dshort + // add offset for uint16 conversion
78  ( (int16_t) 0 > dshort ?
79  offset : (int) 0 ) ) ;
80  esdata[i] = dint ;
81  }
82  EcalDigiCollection::push_back( digi.id()(), esdata ) ;
83  }
84 };
85 
86 
87 // Free swap functions
88 inline
90  lhs.swap(rhs);
91 }
92 
93 inline
95  lhs.swap(rhs);
96 }
97 
98 inline
100  lhs.swap(rhs);
101 }
102 
103 inline
105  lhs.swap(rhs);
106 }
107 
110 
116 
117 #endif
void swap(ora::Record &rh, ora::Record &lh)
Definition: Record.h:70
int i
Definition: DBlmapReader.cc:9
edm::DataFrameContainer::size_type size_type
void swap(EBDigiCollection &other)
edm::SortedCollection< EcalMatacqDigi > EcalMatacqDigiCollection
static const size_type NSAMPLE
const ESDetId & id() const
Definition: ESDataFrame.h:21
EcalDigiCollection(size_type istride=MAXSAMPLES, int isubdet=0)
edm::DataFrameContainer::size_type size_type
edm::SortedCollection< EBSrFlag > EBSrFlagCollection
ESDigiCollection(size_type istride=NSAMPLE)
edm::SortedCollection< EESrFlag > EESrFlagCollection
static const int MAXSAMPLES
Definition: ESDataFrame.h:32
edm::SortedCollection< EcalPnDiodeDigi > EcalPnDiodeDigiCollection
Digi::key_type DetId
edm::SortedCollection< EcalTimeDigi > EcalTimeDigiCollection
edm::DataFrameContainer::size_type size_type
static const size_type MAXSAMPLES
edm::SortedCollection< EcalTriggerPrimitiveDigi > EcalTrigPrimDigiCollection
void swap(DataFrameContainer &other)
void push_back(unsigned int i)
void push_back(id_type iid, data_type const *idata)
edm::SortedCollection< EcalPseudoStripInputDigi > EcalPSInputDigiCollection
void push_back(const Digi &digi)
void swap(ESDigiCollection &other)
void swap(EEDigiCollection &other)
Digi::key_type DetId
EBDigiCollection(size_type istride=MAXSAMPLES)
edm::DataFrameContainer::size_type size_type
EEDigiCollection(size_type istride=MAXSAMPLES)
Digi::key_type DetId