|
SLIC
6.1.1
Simulation for the Linear Collider (SLIC) - Geant4 simulation application
|
Management of global MCParticle information. More...
#include <MCParticleManager.hh>
Public Member Functions | |
| MCParticleManager () | |
| virtual | ~MCParticleManager () |
| void | addMCParticleTrackID (G4int trackId, MCParticle *particle) |
| void | applyLorentzTransformation (LCCollection *mcparticles, const G4double angle) |
| void | createMCParticleCollection () |
| std::set< G4PrimaryParticle * > | createPrimary (G4PrimaryParticle *parent, MCParticle *mcp) |
| G4PrimaryVertex * | createVertex (MCParticle *mcp) |
| MCParticle * | findMCParticle (G4int trackId) |
| void | generateEvent (LCCollectionVec *mcparticles, G4Event *event) |
| LCCollectionVec * | getMCParticleCollection () |
| PrimaryParticleMap * | getPrimaryParticleMap () |
| int | indexOf (G4PrimaryParticle *primary) |
| int | indexOf (MCParticle *particle) |
| bool | isDaughter (G4PrimaryParticle *particle, const std::set< G4PrimaryParticle * > &primaries) |
| void | reset () |
| G4double | smearZPosition (const G4double rms) |
Public Member Functions inherited from Singleton< MCParticleManager > | |
| Singleton () | |
| ~Singleton () | |
| void | release () |
Private Member Functions | |
| void | setMCParticleCollection (LCCollectionVec *mcpVec) |
Private 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 | stepping (const G4Step *) |
| Module (const std::string &name, bool deleteOnExit=true, bool autoRegister=true) | |
Private Attributes | |
| LCCollectionVec * | _inputVec |
| MCParticleMap | _mcpMap |
| LCCollectionVec * | _mcpVec |
| PrimaryParticleMap | _primaryMap |
| std::vector< G4PrimaryParticle * > | _primaryVec |
| TrackIDMap | _trackIDMap |
Private Attributes inherited from Module | |
| bool | m_deleteOnExit |
| LogStream * | m_log |
| std::string | m_name |
| ModuleStatus | m_status |
Additional Inherited Members | |
Static Public Member Functions inherited from Singleton< MCParticleManager > | |
| static MCParticleManager * | instance () |
Private Types inherited from Module | |
| enum | ModuleStatus { eOkay = 0 , eNotInitialized = 1 , eBadState = 2 , eFatalError = 3 } |
Management of global MCParticle information.
Definition at line 48 of file MCParticleManager.hh.
|
inline |
Class constructor.
Definition at line 55 of file MCParticleManager.hh.
|
inlinevirtual |
Class destructor.
Definition at line 62 of file MCParticleManager.hh.
|
inline |
Add an MCParticle associated with a track ID.
| [in] | trackId | The track ID. |
| [in] | particle | The MCParticle object. |
Definition at line 77 of file MCParticleManager.hh.
References MCParticleManager::_trackIDMap.
| void applyLorentzTransformation | ( | LCCollection * | mcparticles, |
| const G4double | angle | ||
| ) |
Apply a Lorentz Transformation angle to a collection of MCParticles.
| [in] | mcparticles | The MCParticle collection. |
| [in] | angle | The Lorentz Transformation angle. |
Definition at line 320 of file MCParticleManager.cc.
Referenced by MCParticleManager::generateEvent().
|
inline |
Create an empty MCParticle collection.
Definition at line 114 of file MCParticleManager.hh.
References MCParticleManager::_mcpVec.
| std::set< G4PrimaryParticle * > createPrimary | ( | G4PrimaryParticle * | parent, |
| MCParticle * | mcp | ||
| ) |
Create a primary particle from an MCParticle and recursively create primaries for all its daughters.
| [in] | mcp | the input MCParticle |
Definition at line 177 of file MCParticleManager.cc.
References MCParticleManager::_mcpMap, MCParticleManager::_primaryMap, MCParticleManager::_primaryVec, LOG::debug, LOG::done, LOG::endl, LogStream::getOutputStream(), MCParticleManager::indexOf(), and Module::log().
Referenced by MCParticleManager::generateEvent().
| G4PrimaryVertex * createVertex | ( | MCParticle * | mcp | ) |
Create a primary vertex from an MCParticle.
| [in] | mcp | the input MCParticle |
Definition at line 285 of file MCParticleManager.cc.
References LOG::debug, LOG::done, LOG::endl, MCParticleManager::indexOf(), and Module::log().
Referenced by MCParticleManager::generateEvent().
|
inline |
Find an MCParticle from a track ID.
| [in] | trackId | The track ID. |
Definition at line 89 of file MCParticleManager.hh.
References MCParticleManager::_trackIDMap.
| void generateEvent | ( | LCCollectionVec * | mcparticles, |
| G4Event * | event | ||
| ) |
Generate an event from a collection of MCParticles.
| [in] | mcparticles | The MCParticle collection. |
| [in] | event | The output G4Event. |
Apply the Lorentz Transformation to input particles.
Definition at line 13 of file MCParticleManager.cc.
References MCParticleManager::_inputVec, MCParticleManager::_mcpMap, MCParticleManager::_primaryVec, MCParticleManager::applyLorentzTransformation(), MCParticleManager::createPrimary(), MCParticleManager::createVertex(), LOG::debug, LOG::done, LOG::endl, LOG::head, MCParticleManager::indexOf(), Singleton< EventSourceManager >::instance(), MCParticleManager::isDaughter(), Module::log(), MCParticleManager::setMCParticleCollection(), and MCParticleManager::smearZPosition().
Referenced by MCParticleGenerator::generateEvent().
|
inline |
Get the current MCParticle collection.
Definition at line 68 of file MCParticleManager.hh.
References MCParticleManager::_mcpVec.
|
inline |
Get the map of MCParticles to G4PrimaryParticles.
Definition at line 97 of file MCParticleManager.hh.
References MCParticleManager::_primaryMap.
|
inline |
Find index of a primary particle matching an MCParticle index.
Definition at line 132 of file MCParticleManager.hh.
References MCParticleManager::_primaryVec.
|
inline |
Find index of an MCParticle in a collection.
Definition at line 124 of file MCParticleManager.hh.
References MCParticleManager::_inputVec.
Referenced by MCParticleManager::createPrimary(), MCParticleManager::createVertex(), and MCParticleManager::generateEvent().
| bool isDaughter | ( | G4PrimaryParticle * | particle, |
| const std::set< G4PrimaryParticle * > & | primaries | ||
| ) |
Return true if particle is a daughter of another primary.
Definition at line 370 of file MCParticleManager.cc.
Referenced by MCParticleManager::generateEvent().
|
inlinevirtual |
Reset the state of the MCParticleManager.
Reimplemented from Module.
Definition at line 104 of file MCParticleManager.hh.
References MCParticleManager::_mcpMap, MCParticleManager::_mcpVec, MCParticleManager::_primaryMap, and MCParticleManager::_trackIDMap.
|
inlineprivate |
Set the MCParticle collection.
| [in] | mcpVec | The MCParticle collection. |
Definition at line 183 of file MCParticleManager.hh.
References MCParticleManager::_mcpVec.
Referenced by MCParticleManager::generateEvent().
| G4double smearZPosition | ( | const G4double | rms | ) |
Get the next smeared Z position.
| [in] | The | RMS of the smearing algorithm. |
Definition at line 360 of file MCParticleManager.cc.
Referenced by MCParticleManager::generateEvent().
|
private |
Definition at line 204 of file MCParticleManager.hh.
Referenced by MCParticleManager::generateEvent(), and MCParticleManager::indexOf().
|
private |
Reverse map of G4PrimaryParticle to MCParticle.
Definition at line 197 of file MCParticleManager.hh.
Referenced by MCParticleManager::createPrimary(), MCParticleManager::generateEvent(), and MCParticleManager::reset().
|
private |
The output MCParticle collection. This pointer is "taken" from the input reader, because it is added to the output event, which then automatically deletes it once the event is written (I think?).
Definition at line 211 of file MCParticleManager.hh.
Referenced by MCParticleManager::createMCParticleCollection(), MCParticleManager::getMCParticleCollection(), MCParticleManager::reset(), and MCParticleManager::setMCParticleCollection().
|
private |
Map of MCParticle to G4PrimaryParticle.
Definition at line 192 of file MCParticleManager.hh.
Referenced by MCParticleManager::createPrimary(), MCParticleManager::getPrimaryParticleMap(), and MCParticleManager::reset().
|
private |
Definition at line 213 of file MCParticleManager.hh.
Referenced by MCParticleManager::createPrimary(), MCParticleManager::generateEvent(), and MCParticleManager::indexOf().
|
private |
Map of MCParticle to track ID.
Definition at line 202 of file MCParticleManager.hh.
Referenced by MCParticleManager::addMCParticleTrackID(), MCParticleManager::findMCParticle(), and MCParticleManager::reset().