CMS 3D CMS Logo

Public Member Functions | Private Attributes

CSCCFEBStatusDigi Class Reference

#include <CSCCFEBStatusDigi.h>

List of all members.

Public Member Functions

 CSCCFEBStatusDigi (int cfebnmb)
 Construct from the CFEB number (1-5).
 CSCCFEBStatusDigi (int cfebnmb, std::vector< uint16_t > crcWords, std::vector< uint16_t > contrWords, std::vector< uint16_t > bWords)
 Constructor for all variables.
 CSCCFEBStatusDigi ()
 Default construction.
int getCFEBNmb () const
 Get the CFEB number.
std::vector< uint16_t > getCRC () const
 Get CRC per each time sample.
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.
std::vector< int > getSCA_BLK () const
 Get SCA_BLK 4 bit word from SCA Controller data per each time slice.
std::vector< int > getSCA_FULL () const
 Get SCA_FULL bit from SCA Controller data per each time slice.
std::vector< uint16_t > getSCAFullCond () const
 Get SCA Full Condition.
std::vector< int > getTRIG_TIME () const
 Get TRIG_TIME 8 bit word from SCA Controller data per each time slice.
std::vector< int > getTS_FLAG () const
 Get TS_FLAG bit from SCA Controller data per each time slice.
void print () const
 Print content of digi.
void setCRC (std::vector< uint16_t > crc)
 Set CRC vector.
void setSCAC (std::vector< uint16_t > scac)
 Set SCAC (SCA Controller) vector.
int ShiftSel (int nmb, int nshift, int nsel) const
 Shift and select.

Private Attributes

std::vector< uint16_t > bWords_
uint16_t cfebnmb_
std::vector< uint16_t > contrWords_
std::vector< uint16_t > crcWords_

Detailed Description

Digi for CSC CFEB status.

Date:
2009/05/09 20:23:33
Revision:
1.7
Author:
N. Terentiev, CMU

Definition at line 19 of file CSCCFEBStatusDigi.h.


Constructor & Destructor Documentation

CSCCFEBStatusDigi::CSCCFEBStatusDigi ( int  cfebnmb) [inline]

Construct from the CFEB number (1-5).

Definition at line 24 of file CSCCFEBStatusDigi.h.

References cfebnmb_.

{cfebnmb_ = cfebnmb;}
CSCCFEBStatusDigi::CSCCFEBStatusDigi ( int  cfebnmb,
std::vector< uint16_t >  crcWords,
std::vector< uint16_t >  contrWords,
std::vector< uint16_t >  bWords 
) [inline]

Constructor for all variables.

Definition at line 28 of file CSCCFEBStatusDigi.h.

References bWords_, cfebnmb_, contrWords_, and crcWords_.

                                                                                  {
    cfebnmb_ = cfebnmb;
    crcWords_ = crcWords;
    contrWords_ = contrWords;
    bWords_ = bWords;
}
CSCCFEBStatusDigi::CSCCFEBStatusDigi ( ) [inline]

Default construction.

Definition at line 38 of file CSCCFEBStatusDigi.h.

{}

Member Function Documentation

int CSCCFEBStatusDigi::getCFEBNmb ( ) const [inline]

Get the CFEB number.

Definition at line 47 of file CSCCFEBStatusDigi.h.

References cfebnmb_.

Referenced by operator<<(), and print().

{return cfebnmb_;}
std::vector<uint16_t> CSCCFEBStatusDigi::getCRC ( ) const [inline]

Get CRC per each time sample.

Definition at line 53 of file CSCCFEBStatusDigi.h.

References crcWords_.

Referenced by operator<<(), and print().

{return crcWords_;}
std::vector< int > CSCCFEBStatusDigi::getL1A_PHASE ( ) const

Get L1A_PHASE bit from SCA Controller data per each time slice.

Definition at line 66 of file CSCCFEBStatusDigi.cc.

References contrWords_, i, and ShiftSel().

Referenced by operator<<(), and print().

                                                     {
    std::vector<int> vec(contrWords_.size(),0);
    int nmb;
    for(unsigned int i=0;i<vec.size();i++) {
      nmb=contrWords_[i];
      vec[i]=ShiftSel(nmb,12,1);
    }
    return vec;
}
std::vector< int > CSCCFEBStatusDigi::getLCT_PHASE ( ) const

Get LCT_PHASE bit from SCA Controller data per each time slice.

Definition at line 55 of file CSCCFEBStatusDigi.cc.

References contrWords_, i, and ShiftSel().

Referenced by operator<<(), and print().

                                                     {
    std::vector<int> vec(contrWords_.size(),0);
    int nmb;
    for(unsigned int i=0;i<vec.size();i++) {
      nmb=contrWords_[i];
      vec[i]=ShiftSel(nmb,13,1);
    }
    return vec;
}
std::vector< int > CSCCFEBStatusDigi::getSCA_BLK ( ) const

Get SCA_BLK 4 bit word from SCA Controller data per each time slice.

Definition at line 77 of file CSCCFEBStatusDigi.cc.

References contrWords_, i, and ShiftSel().

Referenced by operator<<(), and print().

                                                   {
    std::vector<int> vec(contrWords_.size(),0);
    int nmb;
    for(unsigned int i=0;i<vec.size();i++) {
      nmb=contrWords_[i];
      vec[i]=ShiftSel(nmb,8,15);
    }
    return vec;
}
std::vector< int > CSCCFEBStatusDigi::getSCA_FULL ( ) const

Get SCA_FULL bit from SCA Controller data per each time slice.

Definition at line 44 of file CSCCFEBStatusDigi.cc.

References contrWords_, i, and ShiftSel().

Referenced by operator<<(), and print().

                                                    {
    std::vector<int> vec(contrWords_.size(),0);
    int nmb;
    for(unsigned int i=0;i<vec.size();i++) {
      nmb=contrWords_[i];
      vec[i]=ShiftSel(nmb,14,1);
    }
    return vec;
}
std::vector< uint16_t > CSCCFEBStatusDigi::getSCAFullCond ( ) const

Get SCA Full Condition.

Definition at line 20 of file CSCCFEBStatusDigi.cc.

References bWords_.

Referenced by operator<<(), and print().

                                                            {
  /*    std::vector<int> vec(4,0);
    vec[0]=ShiftSel(SCAFullCond_,0,15);  // 4-bit FIFO1 word count
    vec[1]=ShiftSel(SCAFullCond_,4,15);  // 4-bit Block Number if Error Code=1
                                         // (CFEB: SCA Capacitors Full)
                                         // 4-bit FIFO3 word count if Error Code=2
                                         // (CFEB: FPGA FIFO full)
    vec[2]=ShiftSel(SCAFullCond_,9,7);   // Error Code
    vec[3]=ShiftSel(SCAFullCond_,12,15); // DDU Code, should be 0xB
    return vec;*/
  return bWords_;
}
std::vector< int > CSCCFEBStatusDigi::getTRIG_TIME ( ) const

Get TRIG_TIME 8 bit word from SCA Controller data per each time slice.

Definition at line 88 of file CSCCFEBStatusDigi.cc.

References contrWords_, i, and ShiftSel().

Referenced by operator<<(), and print().

                                                     {
    std::vector<int> vec(contrWords_.size(),0);
    int nmb;
    for(unsigned int i=0;i<vec.size();i++) {
      nmb=contrWords_[i];
      vec[i]=ShiftSel(nmb,0,255);
    }
    return vec;
}
std::vector< int > CSCCFEBStatusDigi::getTS_FLAG ( ) const

Get TS_FLAG bit from SCA Controller data per each time slice.

Definition at line 33 of file CSCCFEBStatusDigi.cc.

References contrWords_, i, and ShiftSel().

Referenced by operator<<(), and print().

                                                   {
    std::vector<int> vec(contrWords_.size(),0);
    int nmb;
    for(unsigned int i=0;i<vec.size();i++) {
      nmb=contrWords_[i];
      vec[i]=ShiftSel(nmb,15,1);
    }
    return vec;
}
void CSCCFEBStatusDigi::print ( void  ) const

Print content of digi.

Debug.

Definition at line 99 of file CSCCFEBStatusDigi.cc.

References gather_cfg::cout, getCFEBNmb(), getCRC(), getL1A_PHASE(), getLCT_PHASE(), getSCA_BLK(), getSCA_FULL(), getSCAFullCond(), getTRIG_TIME(), getTS_FLAG(), i, and findQualityFiles::size.

                                    {
    std::cout << "CSC CFEB # : " << getCFEBNmb() <<"\n";
    std::cout << " SCAFullCond: ";
    if(getSCAFullCond().size()!=0){
    for (size_t i = 0; i<4; ++i ){
        std::cout <<" " <<(getSCAFullCond())[i]; }
        }
    else {
    std::cout << " " <<"BWORD is not valied";
    }   
    std::cout << "\n";
    std::cout << " CRC: ";
    for (size_t i = 0; i<getCRC().size(); ++i ){
        std::cout <<" " <<(getCRC())[i]; }
    std::cout<<"\n";
    std::cout << " TS_FLAG: ";
    for (size_t i = 0; i<getTS_FLAG().size(); ++i ){
        std::cout <<" " <<(getTS_FLAG())[i]; }
    std::cout<<"\n";
    std::cout << " SCA_FULL: ";
    for (size_t i = 0; i<getSCA_FULL().size(); ++i ){
        std::cout <<" " <<(getSCA_FULL())[i]; }
    std::cout<<"\n";
    std::cout << " LCT_PHASE: ";
    for (size_t i = 0; i<getLCT_PHASE().size(); ++i ){
        std::cout <<" " <<(getLCT_PHASE())[i]; }
    std::cout<<"\n";
    std::cout << " L1A_PHASE: ";
    for (size_t i = 0; i<getL1A_PHASE().size(); ++i ){
        std::cout <<" " <<(getL1A_PHASE())[i]; }
    std::cout<<"\n";
    std::cout << " SCA_BLK: ";
    for (size_t i = 0; i<getSCA_BLK().size(); ++i ){
        std::cout <<" " <<(getSCA_BLK())[i]; }
    std::cout<<"\n";
    std::cout << " TRIG_TIME: ";
    for (size_t i = 0; i<getTRIG_TIME().size(); ++i ){
        std::cout <<" " <<(getTRIG_TIME())[i]; }
    std::cout<<"\n";
}
void CSCCFEBStatusDigi::setCRC ( std::vector< uint16_t >  crc) [inline]

Set CRC vector.

Definition at line 41 of file CSCCFEBStatusDigi.h.

References crcWords_.

{crcWords_ = crc;}
void CSCCFEBStatusDigi::setSCAC ( std::vector< uint16_t >  scac) [inline]

Set SCAC (SCA Controller) vector.

Definition at line 44 of file CSCCFEBStatusDigi.h.

References contrWords_.

{contrWords_ =  scac;}
int CSCCFEBStatusDigi::ShiftSel ( int  nmb,
int  nshift,
int  nsel 
) const

Shift and select.

Definition at line 14 of file CSCCFEBStatusDigi.cc.

References tmp.

Referenced by getL1A_PHASE(), getLCT_PHASE(), getSCA_BLK(), getSCA_FULL(), getTRIG_TIME(), and getTS_FLAG().

                                                                 {
    int tmp=nmb;
    tmp=tmp>>nshift;
    return tmp= tmp & nsel;
}

Member Data Documentation

std::vector<uint16_t> CSCCFEBStatusDigi::bWords_ [private]

Definition at line 84 of file CSCCFEBStatusDigi.h.

Referenced by CSCCFEBStatusDigi(), and getSCAFullCond().

uint16_t CSCCFEBStatusDigi::cfebnmb_ [private]

Definition at line 81 of file CSCCFEBStatusDigi.h.

Referenced by CSCCFEBStatusDigi(), and getCFEBNmb().

std::vector<uint16_t> CSCCFEBStatusDigi::contrWords_ [private]
std::vector<uint16_t> CSCCFEBStatusDigi::crcWords_ [private]

Definition at line 82 of file CSCCFEBStatusDigi.h.

Referenced by CSCCFEBStatusDigi(), getCRC(), and setCRC().