CMS 3D CMS Logo

DCCSRPBlock.h
Go to the documentation of this file.
1 #ifndef DCCSRPBLOCK_HH
2 #define DCCSRPBLOCK_HH
3 
4 
5 /*
6  *\ Class DCCSRPBlock
7  *
8  * Class responsible for SR flag unpacking.
9  *
10  * \file DCCSRPBlock.h
11  *
12  *
13  * \author N. Almeida
14  *
15 */
16 
17 
18 #include <iostream>
19 #include <memory>
20 #include <stdint.h>
21 #include <string>
22 #include <vector>
23 #include <map>
24 #include <utility>
25 
26 #include "DCCDataBlockPrototype.h"
27 
31 
32 
34 
35  public :
36 
38 
39  void display(std::ostream & o);
41  int unpack(const uint64_t ** data, unsigned int * dwToEnd, unsigned int numbFlags = SRP_NUMBFLAGS);
42 
43  unsigned short srFlag(unsigned int feChannel){ return srFlags_[feChannel-1]; }
44 
45  protected :
46 
47  virtual void addSRFlagToCollection(){};
48 
49  virtual bool checkSrpIdAndNumbSRFlags(){ return true; };
50 
51  unsigned int srpId_ ;
52  unsigned int bx_ ;
53  unsigned int l1_ ;
54  unsigned int nSRFlags_ ;
55  unsigned int expNumbSrFlags_;
56 
57  unsigned short srFlags_[SRP_NUMBFLAGS];
58 
59 
60 
61 };
62 
63 
64 #endif
unsigned int srpId_
Definition: DCCSRPBlock.h:49
unsigned short srFlags_[SRP_NUMBFLAGS]
Definition: DCCSRPBlock.h:57
unsigned int expNumbSrFlags_
Definition: DCCSRPBlock.h:55
unsigned int l1_
Definition: DCCSRPBlock.h:53
virtual bool checkSrpIdAndNumbSRFlags()
Definition: DCCSRPBlock.h:49
virtual void addSRFlagToCollection()
Definition: DCCSRPBlock.h:47
unsigned short srFlag(unsigned int feChannel)
Definition: DCCSRPBlock.h:43
unsigned int bx_
Definition: DCCSRPBlock.h:52
DCCSRPBlock(DCCDataUnpacker *u, EcalElectronicsMapper *m, DCCEventBlock *e, bool unpack)
Definition: DCCSRPBlock.cc:6
unsigned long long uint64_t
Definition: Time.h:15
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:82
int unpack(const uint64_t **data, unsigned int *dwToEnd, unsigned int numbFlags=SRP_NUMBFLAGS)
Definition: DCCSRPBlock.cc:19
virtual int unpack(const uint64_t **data, unsigned int *dwToEnd)
void display(std::ostream &o)
Definition: DCCSRPBlock.cc:101
unsigned int nSRFlags_
Definition: DCCSRPBlock.h:54