CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_5/src/SimRomanPot/SimFP420/interface/PileUpFP420.h

Go to the documentation of this file.
00001 #ifndef PileUpFP420_h
00002 #define PileUpFP420_h
00003 
00004 #include "SimRomanPot/SimFP420/interface/HitDigitizerFP420.h"
00005 #include <map>
00006 
00007 class  SimHit;
00008 
00009 // Class which takes the responses from each SimHit and piles-up them.
00010 class PileUpFP420{
00011 
00012  public:
00013 
00014   typedef float Amplitude;
00015   typedef std::map< int, Amplitude, std::less<int> >  signal_map_type;
00016   typedef std::map< int , std::vector < std::pair < const PSimHit*, Amplitude > >, std::less<int> >  HitToDigisMapType;
00017 
00018   virtual ~PileUpFP420(){}
00019   
00020   PileUpFP420(){reset();}
00021   virtual void add(HitDigitizerFP420::hit_map_type, const PSimHit& hit, int);
00022   void reset(){resetLink();resetSignal();}
00023   signal_map_type dumpSignal() {return theMap;}
00024   HitToDigisMapType dumpLink() {return theMapLink;}
00025  private:
00026   void resetLink();
00027   void resetSignal();
00028   HitToDigisMapType theMapLink;
00029   signal_map_type theMap;
00030 
00031 };
00032 #endif