| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

In This Package:

SimHitHeader.cc

Go to the documentation of this file.
00001 #include "Event/SimHitCollection.h"
00002 #include "Event/SimHitHeader.h"
00003 #include "Event/SimHit.h"
00004 
00005 #include "Conventions/Detectors.h"
00006 
00007 #include <ostream>
00008 
00009 DayaBay::SimHitHeader::~SimHitHeader()
00010 {
00011     m_header = 0;
00012     hc_map::iterator it, done = m_hitCollection.end();
00013     // wangzhe
00014     // The original line have memory leak problem
00015     // for (it = m_hitCollection.end(); it != done; ++it) {
00016     for (it = m_hitCollection.begin(); it != done; ++it) {
00017     // wz
00018         delete (it->second);
00019     }
00020     m_hitCollection.clear();
00021 }
00022 
00023 
00024 std::ostream& DayaBay::SimHitHeader::fillStream(std::ostream& s) const
00025 {
00026     s << "{ " << "hit collections : " << std::endl;
00027 
00028     hc_map::const_iterator it, done = m_hitCollection.end();
00029     for (it = m_hitCollection.begin(); it != done; ++it) {
00030         DayaBay::Detector d(it->first);
00031 
00032         s << Site::AsString(d.site()) << "::" << d.detName() 
00033           << " collection: "
00034           << std::endl;
00035         it->second->fillStream(s);
00036     }
00037     s << "}";
00038     return s;
00039 }
00040 
00041 void DayaBay::SimHitHeader::addHitCollection(DayaBay::SimHitCollection* hc)
00042 {
00043   m_hitCollection[hc->detector().siteDetPackedData()] = hc;
00044 }
00045 
00046 DayaBay::SimHitHeader::hc_map& DayaBay::SimHitHeader::hitCollection()
00047 {
00048     return m_hitCollection;
00049 }
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Mon Apr 11 20:31:28 2011 for SimEvent by doxygen 1.4.7