CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_14/src/SimCalorimetry/HcalSimAlgos/interface/HPDNoiseData.h

Go to the documentation of this file.
00001 #ifndef HPDLibrary_HPDNoiseData_h
00002 #define HPDLibrary_HPDNoiseData_h
00003 
00004 // --------------------------------------------------------
00005 // Object to store correlated noise data for one HPD 
00006 // Project: HPD noise library
00007 // Author: F.Ratnikov UMd, Jan. 15, 2008
00008 // $Id: HPDNoiseData.h,v 1.4 2008/08/04 22:07:08 fedor Exp $
00009 // --------------------------------------------------------
00010 
00011 #include "TObject.h"
00012 
00013 #include <iostream>
00014 #include <stdint.h>
00015 #include "DataFormats/HcalDetId/interface/HcalDetId.h"
00016 #include "SimCalorimetry/HcalSimAlgos/interface/HPDNoiseDataFrame.h"
00017 #include <vector>
00018 
00019 class HPDNoiseData {
00020  public:
00021   HPDNoiseData () {}
00022   virtual ~HPDNoiseData ();
00023 
00025   unsigned size () const {return mData.size();}
00027   void addChannel (HcalDetId fId, const float* fCharges);
00029   std::vector<HcalDetId> getAllDetIds () const;
00031   const HPDNoiseDataFrame& getDataFrame (size_t i) const;
00033   void clear () {mData.clear ();}
00035   static const char* className () {return "HPDNoiseData";}
00037   static const char* branchName () {return "data";}
00038  private:
00039   std::vector<HPDNoiseDataFrame> mData;
00040 
00041 };
00042 
00044 std::ostream& operator<< (std::ostream&, const HPDNoiseData&);
00045 
00046 #endif