|
SLIC
6.1.1
Simulation for the Linear Collider (SLIC) - Geant4 simulation application
|
Builds Lcio hits collections from G4/SLIC event data. More...
#include <LcioHitsCollectionBuilder.hh>
Public Member Functions | |
| LcioHitsCollectionBuilder () | |
| virtual | ~LcioHitsCollectionBuilder () |
| EVENT::LCEvent * | createHitCollectionsFromEvent (const G4Event *event, EVENT::LCEvent *lcioEvent) |
| bool | getStoreMomentum () |
| void | setLongFlag (bool longFlag=true) |
| void | setPDGFlag (bool pdgFlag=true) |
| void | setStoreMomentum (bool storeMomentum=true) |
Public Member Functions inherited from Module | |
| virtual | ~Module () |
| virtual void | beginEvent (const G4Event *) |
| virtual void | beginRun (const G4Run *) |
| virtual void | cleanup () |
| bool | deleteOnExit () |
| virtual void | endEvent (const G4Event *) |
| virtual void | endRun (const G4Run *) |
| const std::string & | getName () const |
| ModuleStatus | getStatus () const |
| virtual void | initialize () |
| LogStream & | log () |
| virtual void | postTracking (const G4Track *) |
| virtual void | preTracking (const G4Track *) |
| virtual void | reset () |
| virtual void | stepping (const G4Step *) |
Private Member Functions | |
| void | addParticleContributions (CalorimeterHit *calorimeterHit, IMPL::SimCalorimeterHitImpl *simCalorimeterHit) |
| void | combineMcpHitContribs (const HitContributionList &allContributions, HitContributionList &combinedContributions) |
| IMPL::LCCollectionVec * | createCalorimeterCollectionVec (G4VHitsCollection *hitCollection) |
| IMPL::LCCollectionVec * | createCollectionVec (G4VHitsCollection *hitCollection, SensitiveDetector::EType sensitiveDetectorType) |
| IMPL::SimCalorimeterHitImpl * | createHit (CalorimeterHit *calorimeterHit) |
| IMPL::SimTrackerHitImpl * | createHit (TrackerHit *trackerHit) |
| void | createHitCollections () |
| IMPL::LCCollectionVec * | createTrackerCollectionVec (G4VHitsCollection *hitCollection) |
| HitContribution * | findHitContribution (int trackID, HitContributionList &contributions) |
| void | saveHits (CalorimeterHitsCollection *calorimeterHits, IMPL::LCCollectionVec *collection) |
| void | saveHits (TrackerHitsCollection *trackerHits, IMPL::LCCollectionVec *collection) |
| void | setEndcapFlag (SensitiveDetector *sensitiveDetector) |
| void | setFlagDefaults () |
Static Private Member Functions | |
| static bool | containsCollection (EVENT::LCEvent *event, const std::string &name) |
Private Attributes | |
| IMPL::LCFlagImpl | m_calCollFlag |
| const G4Event * | m_currentG4Event |
| EVENT::LCEvent * | m_currentLCEvent |
| bool | m_storeMomentum |
| IMPL::LCFlagImpl | m_trkCollFlag |
Additional Inherited Members | |
Public Types inherited from Module | |
| enum | ModuleStatus { eOkay = 0 , eNotInitialized = 1 , eBadState = 2 , eFatalError = 3 } |
Public Attributes inherited from Module | |
| bool | m_deleteOnExit |
| LogStream * | m_log |
| std::string | m_name |
| ModuleStatus | m_status |
Protected Member Functions inherited from Module | |
| Module (const std::string &name, bool deleteOnExit=true, bool autoRegister=true) | |
Builds Lcio hits collections from G4/SLIC event data.
Definition at line 32 of file LcioHitsCollectionBuilder.hh.
Class constructor.
Definition at line 36 of file LcioHitsCollectionBuilder.cc.
References LcioHitsCollectionBuilder::m_trkCollFlag, and LcioHitsCollectionBuilder::setFlagDefaults().
|
virtual |
Class destructor.
Definition at line 46 of file LcioHitsCollectionBuilder.cc.
|
private |
Copy MCParticle hit contributions from a CalorimeterHit to a SimCalorimeterHit.
| [in] | calorimeterHit | The CalorimeterHit with the contributions. |
| [out] | simCalorimeterHit | The SimCalorimeterHit to update. |
Definition at line 299 of file LcioHitsCollectionBuilder.cc.
References LcioHitsCollectionBuilder::combineMcpHitContribs(), LOG::endl, LOG::error, LogStream::error(), Singleton< MCParticleManager >::instance(), Module::log(), and LcioHitsCollectionBuilder::m_calCollFlag.
Referenced by LcioHitsCollectionBuilder::createHit().
|
private |
Combine hit contributions using track IDs.
| [in] | allContributions | The full hit contribution list. |
| [out] | combinedContributions | The hit contributions grouped by track ID. |
Definition at line 343 of file LcioHitsCollectionBuilder.cc.
References LcioHitsCollectionBuilder::findHitContribution().
Referenced by LcioHitsCollectionBuilder::addParticleContributions().
|
staticprivate |
Check if an event contains a named collection.
| [in] | event | The LCEvent to search. |
| [in] | name | The name of the collection. |
Definition at line 417 of file LcioHitsCollectionBuilder.cc.
Referenced by LcioHitsCollectionBuilder::createHitCollections().
|
private |
Create an output collection of LCIO caloriemter hits.
| [in] | The | input CalorimeterHit collection. |
Definition at line 157 of file LcioHitsCollectionBuilder.cc.
References LcioHitsCollectionBuilder::m_calCollFlag, and LcioHitsCollectionBuilder::saveHits().
Referenced by LcioHitsCollectionBuilder::createCollectionVec().
|
private |
Create the LCCollectionVec for a given hits collection.
| [in] | hitCollection | The hit collection. |
| [in] | sensitiveDetectorType | The type of the sensitive detector (e.g. tracker or calorimeter). |
Definition at line 120 of file LcioHitsCollectionBuilder.cc.
References LcioHitsCollectionBuilder::createCalorimeterCollectionVec(), and LcioHitsCollectionBuilder::createTrackerCollectionVec().
Referenced by LcioHitsCollectionBuilder::createHitCollections().
|
private |
Create a SimCalorimeterHit from a CalorimeterHit.
| [in] | calorimeterHit | The source CalorimeterHit. |
Definition at line 218 of file LcioHitsCollectionBuilder.cc.
References LcioHitsCollectionBuilder::addParticleContributions().
Referenced by LcioHitsCollectionBuilder::saveHits().
|
private |
Create a SimTrackerHit from a TrackerHit.
| [in] | trackerHit | The input TrackerHit. |
Definition at line 259 of file LcioHitsCollectionBuilder.cc.
References LogStream::error(), Singleton< MCParticleManager >::instance(), and Module::log().
|
private |
Definition at line 50 of file LcioHitsCollectionBuilder.cc.
References LcioHitsCollectionBuilder::containsCollection(), LcioHitsCollectionBuilder::createCollectionVec(), HitsCollectionUtil::getHCIDs(), LcioHitsCollectionBuilder::m_currentG4Event, LcioHitsCollectionBuilder::m_currentLCEvent, and LcioHitsCollectionBuilder::setEndcapFlag().
Referenced by LcioHitsCollectionBuilder::createHitCollectionsFromEvent().
| EVENT::LCEvent * createHitCollectionsFromEvent | ( | const G4Event * | event, |
| EVENT::LCEvent * | lcioEvent | ||
| ) |
Setup instance variables and then create the LCIO output hits collections from the Geant4 sensitive detector data for the event.
| [in] | event | The Geant4 event. |
| [in] | lcioEvent | The LCIO target event. |
Definition at line 381 of file LcioHitsCollectionBuilder.cc.
References LcioHitsCollectionBuilder::createHitCollections(), LcioHitsCollectionBuilder::m_currentG4Event, and LcioHitsCollectionBuilder::m_currentLCEvent.
Referenced by LcioManager::createHitsCollections().
|
private |
Create an output collection of LCIO tracker hits.
| [in] | The | input TrackerHit collection. |
Definition at line 141 of file LcioHitsCollectionBuilder.cc.
References LcioHitsCollectionBuilder::m_trkCollFlag, and LcioHitsCollectionBuilder::saveHits().
Referenced by LcioHitsCollectionBuilder::createCollectionVec().
|
private |
Find a single hit contribution by track ID within the combined list.
| [in] | trackID | The track ID. |
| [in] | contributions | The hit contribution list to search. |
Definition at line 369 of file LcioHitsCollectionBuilder.cc.
Referenced by LcioHitsCollectionBuilder::combineMcpHitContribs().
|
inline |
Get whether to store momentum in output step contributions.
Definition at line 80 of file LcioHitsCollectionBuilder.hh.
References LcioHitsCollectionBuilder::m_storeMomentum.
|
private |
Save the CalorimeterHits into the output LCIO collection.
| [in] |
Definition at line 200 of file LcioHitsCollectionBuilder.cc.
References LcioHitsCollectionBuilder::createHit().
Referenced by LcioHitsCollectionBuilder::createCalorimeterCollectionVec(), and LcioHitsCollectionBuilder::createTrackerCollectionVec().
|
private |
Save TrackerHits to a collection.
| [in] | trackerHits | The TrackerHits to add. |
| [out] | collection | The target collection. |
Definition at line 209 of file LcioHitsCollectionBuilder.cc.
References LcioHitsCollectionBuilder::createHit().
|
private |
Set the endcap flag depending on the type of the sensitive detector.
| [in] | sensitiveDetector | The SensitiveDetector. |
Definition at line 178 of file LcioHitsCollectionBuilder.cc.
References LcioHitsCollectionBuilder::m_calCollFlag, and LcioHitsCollectionBuilder::m_trkCollFlag.
Referenced by LcioHitsCollectionBuilder::createHitCollections().
|
private |
Set default CalorimeterHit flag settings. This is called from this classe's constructor.
Definition at line 173 of file LcioHitsCollectionBuilder.cc.
References LcioHitsCollectionBuilder::m_calCollFlag.
Referenced by LcioHitsCollectionBuilder::LcioHitsCollectionBuilder().
| void setLongFlag | ( | bool | longFlag = true | ) |
Set to true in order to include positions in output hits.
| [in] | longFlag | The setting of the long flag. |
Definition at line 393 of file LcioHitsCollectionBuilder.cc.
References Module::log(), LcioHitsCollectionBuilder::m_calCollFlag, and LogStream::verbose().
Referenced by LcioMessenger::SetNewValue().
| void setPDGFlag | ( | bool | pdgFlag = true | ) |
Set to true in order to include all step contributions in output hits rather than aggregating them together by PDG ID.
| [in] | pdgFlag | The setting of the PDG flag. |
Definition at line 405 of file LcioHitsCollectionBuilder.cc.
References Module::log(), LcioHitsCollectionBuilder::m_calCollFlag, and LogStream::verbose().
Referenced by LcioMessenger::SetNewValue().
|
inline |
Set to true in order to store momentum in output step contributions.
| [in] | storeMomentum | The store momentum setting. |
Definition at line 72 of file LcioHitsCollectionBuilder.hh.
References LcioHitsCollectionBuilder::m_storeMomentum.
Referenced by LcioManager::setStoreMomentum().
|
private |
Definition at line 190 of file LcioHitsCollectionBuilder.hh.
Referenced by LcioHitsCollectionBuilder::addParticleContributions(), LcioHitsCollectionBuilder::createCalorimeterCollectionVec(), LcioHitsCollectionBuilder::setEndcapFlag(), LcioHitsCollectionBuilder::setFlagDefaults(), LcioHitsCollectionBuilder::setLongFlag(), and LcioHitsCollectionBuilder::setPDGFlag().
|
private |
current G4 event
Definition at line 186 of file LcioHitsCollectionBuilder.hh.
Referenced by LcioHitsCollectionBuilder::createHitCollections(), and LcioHitsCollectionBuilder::createHitCollectionsFromEvent().
|
private |
current Lcio event
Definition at line 183 of file LcioHitsCollectionBuilder.hh.
Referenced by LcioHitsCollectionBuilder::createHitCollections(), and LcioHitsCollectionBuilder::createHitCollectionsFromEvent().
|
private |
store momentum
Definition at line 193 of file LcioHitsCollectionBuilder.hh.
Referenced by LcioHitsCollectionBuilder::getStoreMomentum(), and LcioHitsCollectionBuilder::setStoreMomentum().
|
private |
default flags
Definition at line 189 of file LcioHitsCollectionBuilder.hh.
Referenced by LcioHitsCollectionBuilder::LcioHitsCollectionBuilder(), LcioHitsCollectionBuilder::createTrackerCollectionVec(), and LcioHitsCollectionBuilder::setEndcapFlag().