20 if((Line6ECB-Line6BCB) != 0) {
22 for(
int i=0;
i<(Line6ECB-Line6BCB-1);
i++){
29 return (Line6ECB-Line6BCB + 1);
35 std::vector< std::vector<int> > CFEBnByLayers;
36 CFEBnByLayers.clear();
37 std::vector<int> CFEBnData;
45 CFEBnData.push_back(
getData()[
i] & 0xFFF);
50 std::vector<int> Layer0, Layer1, Layer2, Layer3, Layer4, Layer5;
51 Layer0.clear(); Layer1.clear(); Layer2.clear(); Layer3.clear(); Layer4.clear(); Layer5.clear();
53 for(
int k=0;
k<(int)CFEBnData.size(); ++
k){
54 for(
int j=0;
j<12;
j++){
56 DiStr = (CFEBnData[
k] >>
j) & 0x1;
57 if( (DiStr !=0) && (
j<8) && (
k==0) ){
60 if((DiStr !=0) && (
j>7) && (
j<12) && (
k==0)){
63 if((DiStr !=0) && (
j<4) && (
k==1)){
66 if((DiStr !=0) && (
j>3) && (
j<12) && (
k==1)){
69 if( (DiStr !=0) && (
j<8) && (
k==2) ){
72 if((DiStr !=0) && (
j>7) && (
j<12) && (
k==2)){
75 if((DiStr !=0) && (
j<4) && (
k==3)){
78 if((DiStr !=0) && (
j>3) && (
j<12) && (
k==3)){
84 CFEBnByLayers.push_back(Layer0);
85 CFEBnByLayers.push_back(Layer1);
86 CFEBnByLayers.push_back(Layer2);
87 CFEBnByLayers.push_back(Layer3);
88 CFEBnByLayers.push_back(Layer4);
89 CFEBnByLayers.push_back(Layer5);
96 std::cout <<
" Blocked CFEB DiStrips List Content " << std::endl;
98 std::cout <<
" word " <<
i <<
" : " << std::hex <<
getData()[
i] << std::dec << std::endl;
101 std::vector< std::vector<int> > anyCFEB;
103 std::vector <int> anyLayer;
106 std::cout <<
" Blocked DiStrips by CFEB and Layers unpacked " << std::endl;
107 for(
int z=0;
z<5; ++
z){
111 for(std::vector< std::vector<int> >::const_iterator layerIt=anyCFEB.begin(); layerIt !=anyCFEB.end(); layerIt++){
114 if(anyLayer.size() !=0){
115 for(
int i=0;
i<(int)anyLayer.size();
i++){
120 std::cout <<
" No Blocked DiStrips on the Layer ";
unsigned size_
stores all mini scope data
std::vector< int > BlockedCFEBdata
int UnpackBlockedCFEB(unsigned short *buf, int Line6BCB, int Line6ECB)
CSCTMBMiniScope.
std::vector< int > getData() const
std::vector< std::vector< int > > getSingleCFEBList(int CFEBn) const
UnpackBlockedCFEB.