CMS 3D CMS Logo

/data/git/CMSSW_5_3_11_patch5/src/SimDataFormats/SimHitMaker/interface/CaloSlaveSD.h

Go to the documentation of this file.
00001 
00002 // File: CaloSlaveSD.h
00003 // Date: 10.02
00004 // Description: Interfaces CaloHit to appropriate container for ORCA usage
00006 #ifndef CaloSlaveSD_h
00007 #define CaloSlaveSD_h
00008 
00009 #include "SimDataFormats/CaloHit/interface/PCaloHit.h"
00010 #include "SimDataFormats/CaloHit/interface/PCaloHitContainer.h"
00011 #include "FWCore/MessageLogger/interface/MessageLogger.h"
00012 
00013 #include <string>
00014 #include <vector>
00015 
00016 class CaloSlaveSD {
00017 
00018 public:    
00019   typedef std::vector<PCaloHit> Collection;
00020   typedef Collection::iterator iterator;
00021   typedef Collection::const_iterator const_iterator;
00022 
00023   CaloSlaveSD(std::string);
00024   virtual ~CaloSlaveSD();
00025   virtual void Initialize();
00026   std::string name() const { return name_; } 
00027   virtual bool processHits(uint32_t, double, double, double, int, uint16_t depth=0);
00028   virtual bool format();
00029   Collection& hits()             { return hits_; }
00030   std::string type()             { return "calo"; }
00031   virtual const_iterator begin() { return hits_.begin();}
00032   virtual const_iterator end()   { return hits_.end();}
00033   virtual void Clean();
00034   virtual void ReserveMemory(unsigned int size);
00035 
00036 protected: 
00037   Collection         hits_;
00038 
00039 private:
00040   std::string        name_;
00041 };
00042 
00043 #endif // CaloSlaveSD_h