![]() |
ATLAS Offline Software
|
Event-owned builder for standard LAr hits. More...
#include <LArHitContainerBuilder.h>
Classes | |
| class | LessHit |
| struct | Partition |
Public Types | |
| using | hit_ptr_t = std::unique_ptr<LArHit> |
| using | hits_t = std::set<hit_ptr_t, LessHit> |
| using | timeBins_t = std::map<G4int, hits_t> |
| using | base_value_type |
| using | CONT |
| using | value_type |
| using | pointer |
| using | reference |
| using | iterator |
| using | size_type |
| using | difference_type |
| using | const_pointer |
| using | const_reference |
| using | const_iterator |
Public Member Functions | |
| ~LArHitContainerBuilder () override=default | |
| 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. | |
| void | Finalize () |
| Move merged hits into the persisted container in final output order. | |
| LArHitContainer (const std::string &collectionName="DefaultCollectionName") | |
| operator std::string () const | |
| Returns a string containing the description of this LArHitContainer with a dump of all the hits that it contains . | |
| void | Clear () |
| void | Insert (LArHit *h) |
| int | Size () const |
| const std::string & | Name () const |
| void | setName (const std::string &name) |
| const std::vector< LArHit * > & | getVector () |
| bool | empty () const |
| const_iterator | begin () const |
| const_iterator | end () const |
| size_type | size () const |
| void | push_back (LArHit *t) |
| const LArHit * | At (unsigned int pos) const |
| const LArHit * | operator[] (size_type n) const |
| void | resize (size_type sz) |
| void | clear () |
| void | reserve (size_type n) |
Static Public Member Functions | |
| static const std::type_info * | initHelper () |
Static Public Attributes | |
| static const std::type_info *const | s_info |
Protected Attributes | |
| std::string | m_name |
| std::vector< LArHit * > | m_hitvector |
| AthHitVec::OwnershipPolicy | m_ownPolicy |
Private Member Functions | |
| void | Finalize (timeBins_t &timeBins) |
| Partition & | FindOrCreatePartition (const std::string &sourceName) |
Static Private Member Functions | |
| static void | AddHit (timeBins_t &timeBins, hit_ptr_t hit, G4int timeBin) |
Private Attributes | |
| std::vector< Partition > | m_partitions |
| timeBins_t | m_directHits |
Event-owned builder for standard LAr hits.
The builder owns the merge state for the full Athena event. Regular sensitive detectors register named partitions during Geant4 initialization; each partition merges hits independently and partitions are finalized in registration order. Hits with an empty source name go to the direct bucket, which is finalized after regular SD partitions and is used by contributors such as frozen-shower fast simulation.
Named per-SD partitions are retained only to preserve the historical output contract: hits from different SDs remain distinct and are emitted in SD setup order. If that compatibility requirement is intentionally dropped, the implementation can be simplified to a single event-wide merge bucket.
Definition at line 34 of file LArHitContainerBuilder.h.
|
inherited |
Definition at line 91 of file AthenaHitsVector.h.
|
inherited |
Definition at line 105 of file AthenaHitsVector.h.
|
inherited |
Definition at line 99 of file AthenaHitsVector.h.
|
inherited |
Definition at line 100 of file AthenaHitsVector.h.
|
inherited |
Definition at line 92 of file AthenaHitsVector.h.
|
inherited |
Definition at line 98 of file AthenaHitsVector.h.
| using LArHitContainerBuilder::hit_ptr_t = std::unique_ptr<LArHit> |
Definition at line 38 of file LArHitContainerBuilder.h.
| using LArHitContainerBuilder::hits_t = std::set<hit_ptr_t, LessHit> |
Definition at line 48 of file LArHitContainerBuilder.h.
|
inherited |
Definition at line 96 of file AthenaHitsVector.h.
|
inherited |
Definition at line 94 of file AthenaHitsVector.h.
|
inherited |
Definition at line 95 of file AthenaHitsVector.h.
|
inherited |
Definition at line 97 of file AthenaHitsVector.h.
| using LArHitContainerBuilder::timeBins_t = std::map<G4int, hits_t> |
Definition at line 49 of file LArHitContainerBuilder.h.
|
inherited |
Definition at line 93 of file AthenaHitsVector.h.
|
overridedefault |
| void LArHitContainerBuilder::AddHit | ( | const std::string & | sourceName, |
| hit_ptr_t | hit, | ||
| G4int | timeBin ) |
Take ownership of a hit and add it to one regular-SD partition.
|
staticprivate |
|
inlineinherited |
Definition at line 204 of file AthenaHitsVector.h.
|
inlineinherited |
Definition at line 187 of file AthenaHitsVector.h.
|
inlineinherited |
Definition at line 124 of file AthenaHitsVector.h.
|
inlineinherited |
Definition at line 222 of file AthenaHitsVector.h.
|
inlineinherited |
Definition at line 185 of file AthenaHitsVector.h.
|
inlineinherited |
Definition at line 191 of file AthenaHitsVector.h.
| void LArHitContainerBuilder::Finalize | ( | ) |
Move merged hits into the persisted container in final output order.
|
private |
|
inlineinherited |
Definition at line 183 of file AthenaHitsVector.h.
|
inlinestaticinherited |
Definition at line 240 of file AthenaHitsVector.h.
|
inlineinherited |
Definition at line 143 of file AthenaHitsVector.h.
| LArHitContainer::LArHitContainer | ( | const std::string & | collectionName = "DefaultCollectionName" | ) |
Definition at line 29 of file LArHitContainer.cxx.
|
inlineinherited |
Definition at line 178 of file AthenaHitsVector.h.
|
inherited |
Returns a string containing the description of this
LArHitContainer with a dump of all the hits that it contains
.
Can be used in printouts
Definition at line 17 of file LArHitContainer.cxx.
|
inlineinherited |
Definition at line 206 of file AthenaHitsVector.h.
|
inlineinherited |
Definition at line 201 of file AthenaHitsVector.h.
| void LArHitContainerBuilder::RegisterSource | ( | const std::string & | sourceName | ) |
Register a regular-SD partition in final output order.
|
inlineinherited |
Definition at line 230 of file AthenaHitsVector.h.
|
inlineinherited |
Definition at line 208 of file AthenaHitsVector.h.
|
inlineinherited |
Definition at line 180 of file AthenaHitsVector.h.
|
inlineinherited |
Definition at line 144 of file AthenaHitsVector.h.
|
inlineinherited |
Definition at line 199 of file AthenaHitsVector.h.
|
private |
Definition at line 72 of file LArHitContainerBuilder.h.
|
protectedinherited |
Definition at line 234 of file AthenaHitsVector.h.
|
protectedinherited |
Definition at line 233 of file AthenaHitsVector.h.
|
protectedinherited |
Definition at line 235 of file AthenaHitsVector.h.
|
private |
Definition at line 71 of file LArHitContainerBuilder.h.
|
staticinherited |
Definition at line 243 of file AthenaHitsVector.h.