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  size_t nfeds_;
58  std::vector<int> feds_;
59  std::vector<int> wheels_;
60  std::vector<long long int> amcsecmap_;
61  std::vector < std::array<short, 12> > amcsec_;
62 
63  unsigned char* LineFED_;
64 
65  // utilities
66  inline void readline( int & lines, long & dataWord )
67  {
68  dataWord = *( (long*) LineFED_ );
69  LineFED_ += 8;
70  ++lines;
71  }
72 
73  void calcCRC( long word, int & myC );
74 
76 
78 
79  int normBx(int bx_, int bxCnt_);
80  int radAngConversion( int radAng_ );
81  int benAngConversion( int benAng_ );
82 
83 };
84 
85 
86 #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)