CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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,
47 
48  void processFed( int twinmuxfed, int wheel, std::array<short, 12> twinMuxAmcSec,
52 
53 private:
54 
55  bool debug_;
56  bool passbc0_;
57  size_t nfeds_;
59  std::vector<int> feds_;
60  std::vector<int> wheels_;
61  std::vector<long long int> amcsecmap_;
62  std::vector < std::array<short, 12> > amcsec_;
63 
64  unsigned char* LineFED_;
65 
66  // utilities
67  inline void readline( int & lines, long & dataWord )
68  {
69  dataWord = *( (long*) LineFED_ );
70  LineFED_ += 8;
71  ++lines;
72  }
73 
74  void calcCRC( long word, int & myC );
75 
77 
79 
80  int normBx(int bx_, int bxCnt_);
81  int radAngConversion( int radAng_ );
82  int benAngConversion( int benAng_ );
83 
84 };
85 
86 
87 #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.
int radAngConversion(int radAng_)
void readline(int &lines, long &dataWord)
virtual ~L1TTwinMuxRawToDigi()
Destructor.
bool fillRawData(edm::Event &e, L1MuDTChambPhContainer::Phi_Container &phi_data, L1MuDTChambThContainer::The_Container &the_data)
Generate and fill FED raw data for a full event.
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
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)