CMS 3D CMS Logo

Public Types | Public Member Functions | Private Member Functions | Private Attributes

SiPileUpSignals Class Reference

#include <SiPileUpSignals.h>

List of all members.

Public Types

typedef float Amplitude
typedef std::map< uint32_t,
SignalMapType
signalMaps
typedef std::map< int, AmplitudeSignalMapType

Public Member Functions

virtual void add (uint32_t detID, const std::vector< double > &locAmpl, const size_t &firstChannelWithSignal, const size_t &lastChannelWithSignal)
const SignalMapTypegetSignal (uint32_t detID) const
void reset ()
 SiPileUpSignals ()
virtual ~SiPileUpSignals ()

Private Member Functions

void resetSignals ()

Private Attributes

signalMaps signal_

Detailed Description

Class which takes the responses from each SimHit and piles-up them, within a given module. More precisely, it keeps for each strip the link to each individual measurement.

Definition at line 14 of file SiPileUpSignals.h.


Member Typedef Documentation

Definition at line 17 of file SiPileUpSignals.h.

typedef std::map<uint32_t, SignalMapType> SiPileUpSignals::signalMaps

Definition at line 21 of file SiPileUpSignals.h.

typedef std::map<int, Amplitude> SiPileUpSignals::SignalMapType

Definition at line 20 of file SiPileUpSignals.h.


Constructor & Destructor Documentation

SiPileUpSignals::SiPileUpSignals ( ) [inline]

Definition at line 23 of file SiPileUpSignals.h.

References reset().

{ reset(); }
virtual SiPileUpSignals::~SiPileUpSignals ( ) [inline, virtual]

Definition at line 25 of file SiPileUpSignals.h.

{ }

Member Function Documentation

void SiPileUpSignals::add ( uint32_t  detID,
const std::vector< double > &  locAmpl,
const size_t &  firstChannelWithSignal,
const size_t &  lastChannelWithSignal 
) [virtual]

Definition at line 8 of file SiPileUpSignals.cc.

References signal_.

                                                                                                     {
  SignalMapType& theSignal = signal_[detID];
  for (size_t iChannel=firstChannelWithSignal; iChannel<lastChannelWithSignal; ++iChannel) {
    if(locAmpl[iChannel] != 0.0) {
      if(theSignal.find(iChannel) == theSignal.end()) {
        theSignal.insert(std::make_pair(iChannel, locAmpl[iChannel]));
      } else {
        theSignal[iChannel] += locAmpl[iChannel];
      }
    }
  }
}
const SignalMapType* SiPileUpSignals::getSignal ( uint32_t  detID) const [inline]

Definition at line 33 of file SiPileUpSignals.h.

References signal_.

                                                       {
    auto where = signal_.find(detID);
    if(where == signal_.end()) {
      return 0;
    }
    return &where->second;
  }
void SiPileUpSignals::reset ( ) [inline]

Definition at line 31 of file SiPileUpSignals.h.

References resetSignals().

Referenced by SiPileUpSignals().

{ resetSignals(); }
void SiPileUpSignals::resetSignals ( ) [private]

Definition at line 4 of file SiPileUpSignals.cc.

References signal_.

Referenced by reset().

                                  {
  signal_.clear();
}

Member Data Documentation

Definition at line 43 of file SiPileUpSignals.h.

Referenced by add(), getSignal(), and resetSignals().