CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
DCCMemBlock.h
Go to the documentation of this file.
1 #ifndef DCCMEMBLOCK_HH
2 #define DCCMEMBLOCK_HH
3 
4 /*
5  *\ Class DCCMemBlock
6  *
7  * Class responsible for MEMs unpacking
8  *
9  * \file DCCTCCBlock.h
10  *
11  * $Date: 2012/08/06 21:51:35 $
12  * $Revision: 1.3 $
13  *
14  * \author N. Almeida
15  * \author G. Franzoni
16  *
17 */
18 
19 #include <iostream>
20 #include <memory>
21 #include <stdint.h>
22 #include <string>
23 #include <vector>
24 #include <map>
25 #include <utility>
26 
31 #include "DCCDataBlockPrototype.h"
32 
33 class DCCEventBlock;
34 class DCCDataUnpacker;
35 
37 
38  public :
39 
41 
42  virtual ~DCCMemBlock(){}
43 
44  void updateCollectors();
45 
46  void display(std::ostream & o);
47 
48  int unpack(const uint64_t ** data, unsigned int * dwToEnd, unsigned int expectedTowerID);
49 
50  protected :
51 
52  void unpackMemTowerData();
54 
55  std::vector<short> pn_;
56 
57  unsigned int expTowerID_;
58  unsigned int expXtalTSamples_;
59  unsigned int kSamplesPerPn_;
60 
61  unsigned int lastStripId_;
62  unsigned int lastXtalId_;
63  unsigned int lastTowerBeforeMem_;
64 
65  unsigned int towerId_;
66  unsigned int numbDWInXtalBlock_;
67  unsigned int xtalBlockSize_;
68  unsigned int nTSamples_;
70 
71  unsigned int bx_;
72  unsigned int l1_;
73 
74  std::auto_ptr<EcalElectronicsIdCollection> * invalidMemChIds_;
75  std::auto_ptr<EcalElectronicsIdCollection> * invalidMemBlockSizes_;
76  std::auto_ptr<EcalElectronicsIdCollection> * invalidMemTtIds_;
77  std::auto_ptr<EcalElectronicsIdCollection> * invalidMemGains_;
78  std::auto_ptr<EcalPnDiodeDigiCollection> * pnDiodeDigis_;
79 
80 };
81 
82 
83 #endif
unsigned int expTowerID_
Definition: DCCMemBlock.h:57
unsigned int bx_
Definition: DCCMemBlock.h:71
std::auto_ptr< EcalElectronicsIdCollection > * invalidMemTtIds_
Definition: DCCMemBlock.h:76
unsigned int kSamplesPerPn_
Definition: DCCMemBlock.h:59
unsigned int numbDWInXtalBlock_
Definition: DCCMemBlock.h:66
std::auto_ptr< EcalElectronicsIdCollection > * invalidMemGains_
Definition: DCCMemBlock.h:77
unsigned int lastStripId_
Definition: DCCMemBlock.h:61
unsigned int expXtalTSamples_
Definition: DCCMemBlock.h:58
unsigned int unfilteredTowerBlockLength_
Definition: DCCMemBlock.h:69
std::vector< short > pn_
Definition: DCCMemBlock.h:55
void updateCollectors()
Definition: DCCMemBlock.cc:29
unsigned int lastTowerBeforeMem_
Definition: DCCMemBlock.h:63
std::auto_ptr< EcalElectronicsIdCollection > * invalidMemChIds_
Definition: DCCMemBlock.h:74
void display(std::ostream &o)
Definition: DCCMemBlock.cc:348
unsigned int nTSamples_
Definition: DCCMemBlock.h:68
unsigned long long uint64_t
Definition: Time.h:15
void fillPnDiodeDigisCollection()
Definition: DCCMemBlock.cc:286
unsigned int xtalBlockSize_
Definition: DCCMemBlock.h:67
std::auto_ptr< EcalPnDiodeDigiCollection > * pnDiodeDigis_
Definition: DCCMemBlock.h:78
unsigned int l1_
Definition: DCCMemBlock.h:72
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:82
void unpackMemTowerData()
Definition: DCCMemBlock.cc:176
unsigned int lastXtalId_
Definition: DCCMemBlock.h:62
DCCMemBlock(DCCDataUnpacker *u, EcalElectronicsMapper *m, DCCEventBlock *e)
Definition: DCCMemBlock.cc:9
unsigned int towerId_
Definition: DCCMemBlock.h:65
std::auto_ptr< EcalElectronicsIdCollection > * invalidMemBlockSizes_
Definition: DCCMemBlock.h:75
int unpack(const uint64_t **data, unsigned int *dwToEnd, unsigned int expectedTowerID)
Definition: DCCMemBlock.cc:41
virtual ~DCCMemBlock()
Definition: DCCMemBlock.h:42