CMS 3D CMS Logo

CSCAnalogSignal.cc
Go to the documentation of this file.
2 #include <iostream>
3 #include <algorithm>
4 
5 // =================================
6 float CSCAnalogSignal::peakTime() const {
7  size_t imax = std::max_element(theBinValues.begin(), theBinValues.end()) - theBinValues.begin();
8  return imax/invBinSize + theTimeOffset;
9 }
10 
11 
12 std::ostream & operator<<(std::ostream & stream, const CSCAnalogSignal & signal) {
13  stream << "CSCAnalogSignal: Element " << signal.theElement
14  << " Total " << signal.theTotal << std::endl;
15  for ( int i = 0; i < int( signal.theBinValues.size() ); ++i ) {
16 
17  //@@ ptc 26-Feb-02 Don't both with very small amplitudes
18 
19  if ( signal.theBinValues[i] > 1.E-10 ) {
20  stream << i*signal.getBinSize()+signal.getTimeOffset() <<
21  "\t" << signal.theBinValues[i] << std::endl;
22  }
23  }
24  return stream;
25 }
26 
float getBinSize() const
friend std::ostream & operator<<(std::ostream &, const CSCAnalogSignal &)
std::vector< float > theBinValues
float getTimeOffset() const
float peakTime() const
the time when the signal peaks