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 > &)
void setParameters (uint32_t &, const EcalTPGSlidingWindow *&)
virtual ~EcalFenixStripFormatEB ()

Private Member Functions

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

Private Attributes

int input_
int inputPeak_
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 20 of file EcalFenixStripFormatEB.cc.

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

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

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

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

Definition at line 31 of file EcalFenixStripFormatEB.cc.

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

{
  if  (peakout.size()!=filtout.size()){
    edm::LogWarning("EcalTPG")<<" problem in EcalFenixStripFormatEB: 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]);

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

Definition at line 13 of file EcalFenixStripFormatEB.cc.

References collect_tpl::input, input_, and inputPeak_.

Referenced by process().

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

Definition at line 44 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 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 24 of file EcalFenixStripFormatEB.h.

Referenced by process(), and setParameters().