CMS 3D CMS Logo

DCCTowerBlock.h
Go to the documentation of this file.
1 #ifndef DCCTowerBLOCK_HH
2 #define DCCTowerBLOCK_HH
3 
4 #include <iostream>
5 #include <memory>
6 #include <cstdint>
7 #include <string>
8 #include <vector>
9 #include <map>
10 #include <utility>
11 
16 
17 #include "DCCFEBlock.h"
18 
19 class DCCEventBlock;
20 class DCCDataUnpacker;
21 
22 class DCCTowerBlock : public DCCFEBlock {
23 
24  //to implement
25 
26  public :
27 
28  DCCTowerBlock(DCCDataUnpacker * u,EcalElectronicsMapper * m, DCCEventBlock * e, bool unpack, bool forceToKeepFRdata );
29 
30  void updateCollectors() override;
31 
32  protected:
33 
34  int unpackXtalData(unsigned int stripID, unsigned int xtalID) override;
35  void fillEcalElectronicsError( std::unique_ptr<EcalElectronicsIdCollection> * ) override;
36 
37  std::unique_ptr<EBDigiCollection> * digis_;
38 
40 
41  // to restructure as common collections to DCCSCBlock, to inherit from DCCFEBlock
42  std::unique_ptr<EBDetIdCollection> * invalidGains_;
43  std::unique_ptr<EBDetIdCollection> * invalidGainsSwitch_ ;
44  std::unique_ptr<EBDetIdCollection> * invalidChIds_;
45 
46 };
47 
48 
49 #endif
void fillEcalElectronicsError(std::unique_ptr< EcalElectronicsIdCollection > *) override
int unpack(const uint64_t **data, unsigned int *dwToEnd, bool zs, unsigned int expectedTowerID)
Definition: DCCFEBlock.cc:29
std::unique_ptr< EBDetIdCollection > * invalidGainsSwitch_
Definition: DCCTowerBlock.h:43
std::unique_ptr< EBDetIdCollection > * invalidChIds_
Definition: DCCTowerBlock.h:44
void updateCollectors() override
EBDetId * pDetId_
Definition: DCCTowerBlock.h:39
int unpackXtalData(unsigned int stripID, unsigned int xtalID) override
std::unique_ptr< EBDetIdCollection > * invalidGains_
Definition: DCCTowerBlock.h:42
std::unique_ptr< EBDigiCollection > * digis_
Definition: DCCTowerBlock.h:37
DCCTowerBlock(DCCDataUnpacker *u, EcalElectronicsMapper *m, DCCEventBlock *e, bool unpack, bool forceToKeepFRdata)