CMS 3D CMS Logo

Public Member Functions | Private Member Functions | Private Attributes

EcalFenixStripFormatEB Class Reference

Formatting for Fenix strip input: 18 bits + 3x 1bit (fgvb, gapflagbit, output from peakfinder) output:16 bits The output corresponds to 1 calodataframe per strip --- not really a calodataframe no? More...

#include <EcalFenixStripFormatEB.h>

List of all members.

Public Member Functions

 EcalFenixStripFormatEB ()
virtual void process (std::vector< int > &, std::vector< int > &, std::vector< int > &, std::vector< int > &)
void setParameters (uint32_t &, const EcalTPGSlidingWindow *&)
virtual ~EcalFenixStripFormatEB ()

Private Member Functions

int process ()
int setInput (int input, int inputPeak, int inputsFGVB)

Private Attributes

int input_
int inputPeak_
int inputsFGVB_
uint32_t shift_

Detailed Description

Formatting for Fenix strip input: 18 bits + 3x 1bit (fgvb, gapflagbit, output from peakfinder) output:16 bits The output corresponds to 1 calodataframe per strip --- not really a calodataframe no?

Definition at line 19 of file EcalFenixStripFormatEB.h.


Constructor & Destructor Documentation

EcalFenixStripFormatEB::EcalFenixStripFormatEB ( )

Definition at line 5 of file EcalFenixStripFormatEB.cc.

    : shift_(0)
{
}
EcalFenixStripFormatEB::~EcalFenixStripFormatEB ( ) [virtual]

Definition at line 10 of file EcalFenixStripFormatEB.cc.

                                                  {
  }

Member Function Documentation

int EcalFenixStripFormatEB::process ( ) [private]

Definition at line 21 of file EcalFenixStripFormatEB.cc.

References input_, inputPeak_, inputsFGVB_, convertSQLitetoXML_cfg::output, and shift_.

Referenced by process(), and EcalFenixStrip::process_part2_barrel().

  {
    //    buffer_=input_>>shift_;  //FIXME: buffer why?

    if(inputPeak_==0) return ((inputsFGVB_&0x1)<<12);
    //    int output=buffer_;
    int output=input_>>shift_;
    if(output>0XFFF) output=0XFFF;   //ok: barrel saturates at 12 bits
    // Add stripFGVB
    output |= ((inputsFGVB_&0x1)<<12);
   
    return output;    
  } 
void EcalFenixStripFormatEB::process ( std::vector< int > &  sFGVBout,
std::vector< int > &  peakout,
std::vector< int > &  filtout,
std::vector< int > &  output 
) [virtual]

Definition at line 35 of file EcalFenixStripFormatEB.cc.

References i, process(), and setInput().

{
  if  (peakout.size()!=filtout.size() || sFGVBout.size()!=filtout.size()){
    edm::LogWarning("EcalTPG")<<" problem in EcalFenixStripFormatEB: sfgvb_out, peak_out and filt_out don't have the same size";
  }
  for  (unsigned int i =0;i<filtout.size();i++){
    setInput(filtout[i],peakout[i], sFGVBout[i]);

    output[i]=process();
  }
  return;
}
int EcalFenixStripFormatEB::setInput ( int  input,
int  inputPeak,
int  inputsFGVB 
) [private]

Definition at line 13 of file EcalFenixStripFormatEB.cc.

References LaserDQM_cfg::input, input_, inputPeak_, and inputsFGVB_.

Referenced by process().

  {
    inputsFGVB_ = inputsFGVB;
    inputPeak_=inputPeak;
    input_=input;
    return 0;
  }  
void EcalFenixStripFormatEB::setParameters ( uint32_t &  id,
const EcalTPGSlidingWindow *&  slWin 
)

Definition at line 48 of file EcalFenixStripFormatEB.cc.

References EBDataFrame::id(), and shift_.

Referenced by EcalFenixStrip::process_part2_barrel().

{

  const EcalTPGSlidingWindowMap &slwinmap = slWin -> getMap();
  EcalTPGSlidingWindowMapIterator it=slwinmap.find(id);
  if (it!=slwinmap.end()) shift_=(*it).second;
  else edm::LogWarning("EcalTPG")<<" could not find EcalTPGSlidingWindowMap entry for "<<id;
}

Member Data Documentation

Definition at line 24 of file EcalFenixStripFormatEB.h.

Referenced by process(), and setInput().

Definition at line 23 of file EcalFenixStripFormatEB.h.

Referenced by process(), and setInput().

Definition at line 22 of file EcalFenixStripFormatEB.h.

Referenced by process(), and setInput().

uint32_t EcalFenixStripFormatEB::shift_ [private]

Definition at line 25 of file EcalFenixStripFormatEB.h.

Referenced by process(), and setParameters().