CMS 3D CMS Logo

List of all members | 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>

Public Member Functions

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

Private Member Functions

int process ()
 
int process ()
 
int setInput (int input, int inputPeak, int inputsFGVB)
 
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.

6  : shift_(0)
7 {
8 }
EcalFenixStripFormatEB::~EcalFenixStripFormatEB ( )
virtual

Definition at line 10 of file EcalFenixStripFormatEB.cc.

10  {
11  }
EcalFenixStripFormatEB::EcalFenixStripFormatEB ( )
virtual EcalFenixStripFormatEB::~EcalFenixStripFormatEB ( )
virtual

Member Function Documentation

int EcalFenixStripFormatEB::process ( )
private
int EcalFenixStripFormatEB::process ( )
private

Definition at line 21 of file EcalFenixStripFormatEB.cc.

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

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

22  {
23  // buffer_=input_>>shift_; //FIXME: buffer why?
24 
25  if(inputPeak_==0) return ((inputsFGVB_&0x1)<<12);
26  // int output=buffer_;
27  int output=input_>>shift_;
28  //std::cout << " EcalFenixStripFormatEB::process() input_ " << input_ << " output after shift " << output << std::endl;
29  if(output>0XFFF) output=0XFFF; //ok: barrel saturates at 12 bits
30  // Add stripFGVB
31  output |= ((inputsFGVB_&0x1)<<12);
32 
33  //std::cout << " EcalFenixStripFormatEB::process() output after adding FGVB " << output << std::endl;
34  return output;
35  }
virtual void EcalFenixStripFormatEB::process ( std::vector< int > &  ,
std::vector< int > &  ,
std::vector< int > &  ,
std::vector< int > &   
)
virtual
void EcalFenixStripFormatEB::process ( std::vector< int > &  sFGVBout,
std::vector< int > &  peakout,
std::vector< int > &  filtout,
std::vector< int > &  output 
)
virtual

Definition at line 37 of file EcalFenixStripFormatEB.cc.

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

38 {
39  if (peakout.size()!=filtout.size() || sFGVBout.size()!=filtout.size()){
40  edm::LogWarning("EcalTPG")<<" problem in EcalFenixStripFormatEB: sfgvb_out, peak_out and filt_out don't have the same size";
41  }
42  //std::cout << " EcalFenixStripFormatEB::process(std::vector ... filtout size " << filtout.size() << std::endl;
43  for (unsigned int i =0;i<filtout.size();i++){
44  //std::cout << " Looping over filtout " << filtout[i] << " " << peakout[i] << std::endl;
45  setInput(filtout[i],peakout[i], sFGVBout[i]);
46 
47  output[i]=process();
48  }
49  return;
50 }
int setInput(int input, int inputPeak, int inputsFGVB)
int EcalFenixStripFormatEB::setInput ( int  input,
int  inputPeak,
int  inputsFGVB 
)
private
int EcalFenixStripFormatEB::setInput ( int  input,
int  inputPeak,
int  inputsFGVB 
)
private

Definition at line 13 of file EcalFenixStripFormatEB.cc.

References input, input_, inputPeak_, and inputsFGVB_.

Referenced by process().

14  {
15  inputsFGVB_ = inputsFGVB;
16  inputPeak_=inputPeak;
17  input_=input;
18  return 0;
19  }
static std::string const input
Definition: EdmProvDump.cc:48
void EcalFenixStripFormatEB::setParameters ( uint32_t &  ,
const EcalTPGSlidingWindow *&   
)
void EcalFenixStripFormatEB::setParameters ( uint32_t &  id,
const EcalTPGSlidingWindow *&  slWin 
)

Definition at line 52 of file EcalFenixStripFormatEB.cc.

References triggerObjects_cff::id, and shift_.

Referenced by EcalFenixStrip::process_part2_barrel(), and EcalEBTrigPrimTestAlgo::run().

53 {
54 
55  const EcalTPGSlidingWindowMap &slwinmap = slWin -> getMap();
56  EcalTPGSlidingWindowMapIterator it=slwinmap.find(id);
57  if (it!=slwinmap.end()) shift_=(*it).second;
58  else edm::LogWarning("EcalTPG")<<" could not find EcalTPGSlidingWindowMap entry for "<<id;
59 }
std::map< uint32_t, uint32_t > EcalTPGSlidingWindowMap
std::map< uint32_t, uint32_t >::const_iterator EcalTPGSlidingWindowMapIterator

Member Data Documentation

int EcalFenixStripFormatEB::input_
private

Definition at line 24 of file EcalFenixStripFormatEB.h.

Referenced by process(), and setInput().

int EcalFenixStripFormatEB::inputPeak_
private

Definition at line 23 of file EcalFenixStripFormatEB.h.

Referenced by process(), and setInput().

int EcalFenixStripFormatEB::inputsFGVB_
private

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().