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