CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
CSCCFEBStatusDigi.cc
Go to the documentation of this file.
1 
9 
10 #include <iostream>
11 #include <stdint.h>
12 
14 int CSCCFEBStatusDigi::ShiftSel(int nmb,int nshift,int nsel) const {
15  int tmp=nmb;
16  tmp=tmp>>nshift;
17  return tmp= tmp & nsel;
18 }
20 std::vector<uint16_t> CSCCFEBStatusDigi::getSCAFullCond() const {
21  /* std::vector<int> vec(4,0);
22  vec[0]=ShiftSel(SCAFullCond_,0,15); // 4-bit FIFO1 word count
23  vec[1]=ShiftSel(SCAFullCond_,4,15); // 4-bit Block Number if Error Code=1
24  // (CFEB: SCA Capacitors Full)
25  // 4-bit FIFO3 word count if Error Code=2
26  // (CFEB: FPGA FIFO full)
27  vec[2]=ShiftSel(SCAFullCond_,9,7); // Error Code
28  vec[3]=ShiftSel(SCAFullCond_,12,15); // DDU Code, should be 0xB
29  return vec;*/
30  return bWords_;
31 }
33 std::vector<int> CSCCFEBStatusDigi::getTS_FLAG() const {
34  std::vector<int> vec(contrWords_.size(),0);
35  int nmb;
36  for(unsigned int i=0;i<vec.size();i++) {
37  nmb=contrWords_[i];
38  vec[i]=ShiftSel(nmb,15,1);
39  }
40  return vec;
41 }
42 
44 std::vector<int> CSCCFEBStatusDigi::getSCA_FULL() const {
45  std::vector<int> vec(contrWords_.size(),0);
46  int nmb;
47  for(unsigned int i=0;i<vec.size();i++) {
48  nmb=contrWords_[i];
49  vec[i]=ShiftSel(nmb,14,1);
50  }
51  return vec;
52 }
53 
55 std::vector<int> CSCCFEBStatusDigi::getLCT_PHASE() const {
56  std::vector<int> vec(contrWords_.size(),0);
57  int nmb;
58  for(unsigned int i=0;i<vec.size();i++) {
59  nmb=contrWords_[i];
60  vec[i]=ShiftSel(nmb,13,1);
61  }
62  return vec;
63 }
64 
66 std::vector<int> CSCCFEBStatusDigi::getL1A_PHASE() const {
67  std::vector<int> vec(contrWords_.size(),0);
68  int nmb;
69  for(unsigned int i=0;i<vec.size();i++) {
70  nmb=contrWords_[i];
71  vec[i]=ShiftSel(nmb,12,1);
72  }
73  return vec;
74 }
75 
77 std::vector<int> CSCCFEBStatusDigi::getSCA_BLK() const {
78  std::vector<int> vec(contrWords_.size(),0);
79  int nmb;
80  for(unsigned int i=0;i<vec.size();i++) {
81  nmb=contrWords_[i];
82  vec[i]=ShiftSel(nmb,8,15);
83  }
84  return vec;
85 }
86 
88 std::vector<int> CSCCFEBStatusDigi::getTRIG_TIME() const {
89  std::vector<int> vec(contrWords_.size(),0);
90  int nmb;
91  for(unsigned int i=0;i<vec.size();i++) {
92  nmb=contrWords_[i];
93  vec[i]=ShiftSel(nmb,0,255);
94  }
95  return vec;
96 }
97 
100  std::cout << "CSC CFEB # : " << getCFEBNmb() <<"\n";
101  std::cout << " SCAFullCond: ";
102  if(getSCAFullCond().size()!=0){
103  for (size_t i = 0; i<4; ++i ){
104  std::cout <<" " <<(getSCAFullCond())[i]; }
105  }
106  else {
107  std::cout << " " <<"BWORD is not valied";
108  }
109  std::cout << "\n";
110  std::cout << " CRC: ";
111  for (size_t i = 0; i<getCRC().size(); ++i ){
112  std::cout <<" " <<(getCRC())[i]; }
113  std::cout<<"\n";
114  std::cout << " TS_FLAG: ";
115  for (size_t i = 0; i<getTS_FLAG().size(); ++i ){
116  std::cout <<" " <<(getTS_FLAG())[i]; }
117  std::cout<<"\n";
118  std::cout << " SCA_FULL: ";
119  for (size_t i = 0; i<getSCA_FULL().size(); ++i ){
120  std::cout <<" " <<(getSCA_FULL())[i]; }
121  std::cout<<"\n";
122  std::cout << " LCT_PHASE: ";
123  for (size_t i = 0; i<getLCT_PHASE().size(); ++i ){
124  std::cout <<" " <<(getLCT_PHASE())[i]; }
125  std::cout<<"\n";
126  std::cout << " L1A_PHASE: ";
127  for (size_t i = 0; i<getL1A_PHASE().size(); ++i ){
128  std::cout <<" " <<(getL1A_PHASE())[i]; }
129  std::cout<<"\n";
130  std::cout << " SCA_BLK: ";
131  for (size_t i = 0; i<getSCA_BLK().size(); ++i ){
132  std::cout <<" " <<(getSCA_BLK())[i]; }
133  std::cout<<"\n";
134  std::cout << " TRIG_TIME: ";
135  for (size_t i = 0; i<getTRIG_TIME().size(); ++i ){
136  std::cout <<" " <<(getTRIG_TIME())[i]; }
137  std::cout<<"\n";
138 }
139 
140 std::ostream & operator<<(std::ostream & o, const CSCCFEBStatusDigi& digi) {
141  o << " " << digi.getCFEBNmb()<<"\n";
142  for (size_t i = 0; i<4; ++i ){
143  o <<" " <<(digi.getSCAFullCond())[i]; }
144  o <<"\n";
145  for (size_t i = 0; i<digi.getCRC().size(); ++i ){
146  o <<" " <<(digi.getCRC())[i]; }
147  o<<"\n";
148  for (size_t i = 0; i<digi.getTS_FLAG().size(); ++i ){
149  o <<" " <<(digi.getTS_FLAG())[i]; }
150  o<<"\n";
151  for (size_t i = 0; i<digi.getSCA_FULL().size(); ++i ){
152  o <<" " <<(digi.getSCA_FULL())[i]; }
153  o<<"\n";
154  for (size_t i = 0; i<digi.getLCT_PHASE().size(); ++i ){
155  o <<" " <<(digi.getLCT_PHASE())[i]; }
156  o<<"\n";
157  for (size_t i = 0; i<digi.getL1A_PHASE().size(); ++i ){
158  o <<" " <<(digi.getL1A_PHASE())[i]; }
159  o<<"\n";
160  for (size_t i = 0; i<digi.getSCA_BLK().size(); ++i ){
161  o <<" " <<(digi.getSCA_BLK())[i]; }
162  o<<"\n";
163  for (size_t i = 0; i<digi.getTRIG_TIME().size(); ++i ){
164  o <<" " <<(digi.getTRIG_TIME())[i]; }
165  o<<"\n";
166 
167  return o;
168 }
169 
int i
Definition: DBlmapReader.cc:9
std::vector< int > getTS_FLAG() const
Get TS_FLAG bit from SCA Controller data per each time slice.
std::vector< int > getSCA_BLK() const
Get SCA_BLK 4 bit word from SCA Controller data per each time slice.
std::ostream & operator<<(std::ostream &out, const ALILine &li)
Definition: ALILine.cc:187
std::vector< int > getL1A_PHASE() const
Get L1A_PHASE bit from SCA Controller data per each time slice.
std::vector< int > getLCT_PHASE() const
Get LCT_PHASE bit from SCA Controller data per each time slice.
int getCFEBNmb() const
Get the CFEB number.
std::vector< uint16_t > getSCAFullCond() const
Get SCA Full Condition.
std::vector< int > getSCA_FULL() const
Get SCA_FULL bit from SCA Controller data per each time slice.
std::vector< uint16_t > getCRC() const
Get CRC per each time sample.
int ShiftSel(int nmb, int nshift, int nsel) const
Shift and select.
std::vector< std::vector< double > > tmp
Definition: MVATrainer.cc:100
std::vector< int > getTRIG_TIME() const
Get TRIG_TIME 8 bit word from SCA Controller data per each time slice.
tuple cout
Definition: gather_cfg.py:121
std::vector< uint16_t > contrWords_
std::vector< uint16_t > bWords_
tuple size
Write out results.
void print() const
Print content of digi.