CMS 3D CMS Logo

L1TTwinMuxRawToDigi.h
Go to the documentation of this file.
1 //-------------------------------------------------
2 //
13 //
14 //--------------------------------------------------
15 #ifndef L1TXRAWTODIGI_L1TTWINMUXRAWTODIGI_HH
16 #define L1TXRAWTODIGI_L1TTWINMUXRAWTODIGI_HH
17 
22 
27 
28 #include <string>
29 
31 
32 public:
33 
36 
38  virtual ~L1TTwinMuxRawToDigi();
39 
41  void produce( edm::Event & e, const edm::EventSetup& c );
42 
44  bool fillRawData( edm::Event& e,
48 
49  void processFed( int twinmuxfed, int wheel, std::array<short, 12> twinMuxAmcSec,
54 
55 private:
56 
57  bool debug_;
58  size_t nfeds_;
60  std::vector<int> feds_;
61  std::vector<int> wheels_;
62  std::vector<long long int> amcsecmap_;
63  std::vector < std::array<short, 12> > amcsec_;
64 
65  unsigned char* LineFED_;
66 
67  // utilities
68  inline void readline( int & lines, long & dataWord )
69  {
70  dataWord = *( (long*) LineFED_ );
71  LineFED_ += 8;
72  ++lines;
73  }
74 
75  void calcCRC( long word, int & myC );
76 
78 
80 
81  int normBx(int bx_, int bxCnt_);
82  int radAngConversion( int radAng_ );
83  int benAngConversion( int benAng_ );
84 
85 };
86 
87 
88 #endif
edm::InputTag getDTTM7InputTag()
int normBx(int bx_, int bxCnt_)
std::vector< long long int > amcsecmap_
std::vector< std::array< short, 12 > > amcsec_
L1TTwinMuxRawToDigi(const edm::ParameterSet &pset)
Constructor.
void processFed(int twinmuxfed, int wheel, std::array< short, 12 > twinMuxAmcSec, edm::Handle< FEDRawDataCollection > data, L1MuDTChambPhContainer::Phi_Container &phi_data, L1MuDTChambThContainer::The_Container &the_data, L1MuDTChambPhContainer::Phi_Container &phi_out_data)
int radAngConversion(int radAng_)
void readline(int &lines, long &dataWord)
bool fillRawData(edm::Event &e, L1MuDTChambPhContainer::Phi_Container &phi_data, L1MuDTChambThContainer::The_Container &the_data, L1MuDTChambPhContainer::Phi_Container &phi_out_data)
Generate and fill FED raw data for a full event.
virtual ~L1TTwinMuxRawToDigi()
Destructor.
std::vector< int > feds_
void produce(edm::Event &e, const edm::EventSetup &c)
Produce digis out of raw data.
std::vector< L1MuDTChambPhDigi > Phi_Container
std::vector< L1MuDTChambThDigi > The_Container
std::vector< int > wheels_
edm::EDGetTokenT< FEDRawDataCollection > Raw_token
edm::InputTag DTTM7InputTag_
int benAngConversion(int benAng_)
unsigned char * LineFED_
void calcCRC(long word, int &myC)
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:82