Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:29:43

0001 ///////////////////////////////////////////////////////////////////////////////
0002 // File: CaloSlaveSD.h
0003 // Date: 10.02
0004 // Description: Interfaces CaloHit to appropriate container for ORCA usage
0005 ///////////////////////////////////////////////////////////////////////////////
0006 #ifndef CaloSlaveSD_h
0007 #define CaloSlaveSD_h
0008 
0009 #include "SimDataFormats/CaloHit/interface/PCaloHit.h"
0010 #include "SimDataFormats/CaloHit/interface/PCaloHitContainer.h"
0011 
0012 #include <string>
0013 #include <vector>
0014 
0015 class CaloSlaveSD {
0016 public:
0017   typedef std::vector<PCaloHit> Collection;
0018   typedef Collection::iterator iterator;
0019   typedef Collection::const_iterator const_iterator;
0020 
0021   CaloSlaveSD(std::string);
0022   virtual ~CaloSlaveSD();
0023   virtual void Initialize();
0024   std::string name() const { return name_; }
0025   virtual bool processHits(uint32_t, double, double, double, int, uint16_t depth = 0);
0026   virtual bool format();
0027   Collection &hits() { return hits_; }
0028   std::string type() { return "calo"; }
0029   virtual const_iterator begin() { return hits_.begin(); }
0030   virtual const_iterator end() { return hits_.end(); }
0031   virtual void Clean();
0032   virtual void ReserveMemory(unsigned int size);
0033 
0034 protected:
0035   Collection hits_;
0036 
0037 private:
0038   std::string name_;
0039 };
0040 
0041 #endif  // CaloSlaveSD_h