5#ifndef LARG4CODE_LARHITCONTAINERBUILDER_H
6#define LARG4CODE_LARHITCONTAINERBUILDER_H
44 return lhs->
Less(rhs.get());
48 using hits_t = std::set<hit_ptr_t, LessHit>;
bool operator()(const hit_ptr_t &lhs, const hit_ptr_t &rhs) const
Event-owned builder for standard LAr hits.
void RegisterSource(const std::string &sourceName)
Register a regular-SD partition in final output order.
void AddHit(const std::string &sourceName, hit_ptr_t hit, G4int timeBin)
Take ownership of a hit and add it to one regular-SD partition.
std::set< hit_ptr_t, LessHit > hits_t
void Finalize()
Move merged hits into the persisted container in final output order.
std::map< G4int, hits_t > timeBins_t
static void AddHit(timeBins_t &timeBins, hit_ptr_t hit, G4int timeBin)
LArHitContainer(const std::string &collectionName="DefaultCollectionName")
~LArHitContainerBuilder() override=default
void Finalize(timeBins_t &timeBins)
Partition & FindOrCreatePartition(const std::string &sourceName)
std::unique_ptr< LArHit > hit_ptr_t
std::vector< Partition > m_partitions
LArHitContainer(const std::string &collectionName="DefaultCollectionName")
bool Less(LArHit *const &h) const
Operator Less than this for hit ordering.