slic::LcioMcpManager Class Reference

#include <LcioMcpManager.hh>

Inheritance diagram for slic::LcioMcpManager:

Inheritance graph
slic::ModuleSingleton\< slic::LcioMcpManager \>
[legend]
Collaboration diagram for slic::LcioMcpManager:

Collaboration graph
slic::LcioMcpFactoryslic::LcioMcpMapsslic::Moduleslic::LcioMcpPrinterslic::LogStreamslic::LogMessengerSingleton\< slic::LcioMcpManager \>slic::LcioMcpMessenger
[legend]

List of all members.


Detailed Description

This singleton manages creation of the LCIO MCParticle output collection from transient G4Event and slic data.

Definition at line 43 of file LcioMcpManager.hh.


Public Types

typedef std::map< std::string,
EVENT::LCCollection * > 
McpCollectionMap
enum  ModuleStatus { eOkay = 0, eNotInitialized = 1, eBadState = 2, eFatalError = 3 }

Public Member Functions

virtual ~LcioMcpManager ()
 LcioMcpManager ()
void endEvent (const G4Event *anEvent)
EVENT::LCCollection * createMcpCollection (const std::string &collName)
EVENT::LCCollection * getInitialMcpCollection ()
EVENT::LCCollection * getFinalMcpCollection ()
void setMinimumTrackingDistance (double minDist)
double getMinimumTrackingDistance ()
void reset ()
void setInitialMcpCollection (EVENT::LCCollection *mcpColl)
void registerMcpCollection (const std::string &collName, EVENT::LCCollection *)
EVENT::LCCollection * findMcpCollection (EVENT::LCEvent *event)
EVENT::LCCollection * findMcpCollection (const std::string &collName)
void printMcpCollection (const std::string &collName)
void printMcpCollection (const std::string &collName, EVENT::LCCollection *coll)
LcioMcpMapsgetMaps ()
void enablePrintFinal (bool p=true)
void enablePrintInitial (bool p=true)
void beginEvent (const G4Event *anEvent)
double getNoChargeFlag () const
void setWriteInitialMCParticleCollection (bool b)
bool writeInitialMCParticleCollection ()
const std::string & getName () const
const ModuleStatus getStatus () const
virtual void initialize ()
virtual void cleanup ()
bool deleteOnExit ()
LogStreamlog ()
virtual void beginRun (const G4Run *)
virtual void endRun (const G4Run *)
virtual void preTracking (const G4Track *)
virtual void postTracking (const G4Track *)
virtual void stepping (const G4Step *)
G4ClassificationOfNewTrack stackingClassifyNewTrack (const G4Track *)
void stackingNewStage ()
void stackingPrepareNewEvent ()
void release ()

Static Public Member Functions

static T * instance ()

Public Attributes

ModuleStatus m_status
std::string m_name
LogStream m_log
bool m_deleteOnExit

Static Public Attributes

static const double m_NAN = std::sqrt((double)-1.0)
static const double DEFAULT_MIN_TRACKING_DISTANCE = 1.0

Private Member Functions

void clearMaps ()
void deleteInitialMcpCollection ()

Private Attributes

IMPL::LCEventImpl * m_currentLCEvent
LcioMcpPrinterm_printer
double m_vertexIsNotEndpointOfParentTolerance
double m_minimumTrackingDistance
LcioMcpMessengerm_messenger
McpCollectionMap m_mcpColls
LcioMcpFactorym_factory
LcioMcpMapsm_maps
bool m_enablePrintFinal
bool m_enablePrintInitial
bool m_writeInitialMCParticleCollection

Member Typedef Documentation

typedef std::map<std::string, EVENT::LCCollection*> slic::LcioMcpManager::McpCollectionMap

Definition at line 48 of file LcioMcpManager.hh.


Member Enumeration Documentation

enum slic::Module::ModuleStatus [inherited]

Enumerator:
eOkay 
eNotInitialized 
eBadState 
eFatalError 

Definition at line 29 of file Module.hh.


Constructor & Destructor Documentation

slic::LcioMcpManager::~LcioMcpManager (  )  [virtual]

Definition at line 39 of file LcioMcpManager.cc.

slic::LcioMcpManager::LcioMcpManager (  ) 

Definition at line 42 of file LcioMcpManager.cc.

References m_factory, m_maps, m_messenger, m_NAN, and m_printer.


Member Function Documentation

void slic::LcioMcpManager::endEvent ( const G4Event *  anEvent  )  [virtual]

Reimplemented from slic::Module.

Definition at line 65 of file LcioMcpManager.cc.

References slic::LcioMcpFactory::createFinalMcpCollection(), m_enablePrintFinal, m_factory, m_maps, slic::LcioMcpMaps::printMaps(), and printMcpCollection().

Referenced by slic::LcioManager::endEvent().

EVENT::LCCollection * slic::LcioMcpManager::createMcpCollection ( const std::string &  collName  ) 

Definition at line 115 of file LcioMcpManager.cc.

References LOG::debug, LOG::done, findMcpCollection(), slic::Module::log(), and registerMcpCollection().

Referenced by getFinalMcpCollection(), and getInitialMcpCollection().

EVENT::LCCollection * slic::LcioMcpManager::getInitialMcpCollection (  ) 

Get the MCP collection generated from StdHep. Creates empty collection if doesn't exist.

Definition at line 182 of file LcioMcpManager.cc.

References createMcpCollection(), findMcpCollection(), and m_mcpColls.

Referenced by slic::LcioMcpFactory::createFinalMcpCollection(), deleteInitialMcpCollection(), and slic::LcioMcpMaps::findPrimaryInitialMcpFromTrajectory().

EVENT::LCCollection * slic::LcioMcpManager::getFinalMcpCollection (  ) 

Get the MCP collection generated at EndOfEvent. Creates empty collection if doesn't exist.

Definition at line 173 of file LcioMcpManager.cc.

References createMcpCollection(), findMcpCollection(), and m_mcpColls.

Referenced by slic::LcioMcpFactory::createFinalMcpCollection(), and slic::LcioManager::createFinalMcpCollection().

void slic::LcioMcpManager::setMinimumTrackingDistance ( double  minDist  ) 

Definition at line 191 of file LcioMcpManager.cc.

References m_minimumTrackingDistance.

Referenced by slic::LcioMcpMessenger::SetNewValue().

double slic::LcioMcpManager::getMinimumTrackingDistance (  ) 

Definition at line 196 of file LcioMcpManager.cc.

References m_minimumTrackingDistance.

void slic::LcioMcpManager::reset (  )  [virtual]

Reimplemented from slic::Module.

Definition at line 156 of file LcioMcpManager.cc.

References slic::LcioMcpMaps::clear(), deleteInitialMcpCollection(), m_maps, m_mcpColls, and writeInitialMCParticleCollection().

Referenced by slic::LcioManager::reset().

void slic::LcioMcpManager::setInitialMcpCollection ( EVENT::LCCollection *  mcpColl  ) 

Definition at line 105 of file LcioMcpManager.cc.

References m_mcpColls.

void slic::LcioMcpManager::registerMcpCollection ( const std::string &  collName,
EVENT::LCCollection *  mcpColl 
)

Definition at line 133 of file LcioMcpManager.cc.

References LOG::done, slic::Module::log(), m_mcpColls, and LOG::warning.

Referenced by createMcpCollection().

EVENT::LCCollection * slic::LcioMcpManager::findMcpCollection ( EVENT::LCEvent *  event  ) 

Definition at line 83 of file LcioMcpManager.cc.

Referenced by createMcpCollection(), getFinalMcpCollection(), getInitialMcpCollection(), and printMcpCollection().

EVENT::LCCollection * slic::LcioMcpManager::findMcpCollection ( const std::string &  collName  ) 

Definition at line 100 of file LcioMcpManager.cc.

References m_mcpColls.

void slic::LcioMcpManager::printMcpCollection ( const std::string &  collName  ) 

Definition at line 228 of file LcioMcpManager.cc.

References LOG::done, findMcpCollection(), slic::Module::log(), and LOG::warning.

Referenced by beginEvent(), and endEvent().

void slic::LcioMcpManager::printMcpCollection ( const std::string &  collName,
EVENT::LCCollection *  coll 
)

Definition at line 242 of file LcioMcpManager.cc.

References m_printer, and slic::LcioMcpPrinter::printMcpCollection().

LcioMcpMaps * slic::LcioMcpManager::getMaps (  ) 

Definition at line 201 of file LcioMcpManager.cc.

References m_maps.

Referenced by slic::LcioHitsCollectionBuilder::addMcpContribs(), slic::LcioMcpFactory::addMcpDaughtersFromInitial(), slic::LcioMcpFactory::createDaughtersFromPrimary(), slic::LcioHitsCollectionBuilder::createHit(), slic::LcioMcpFactory::createMcpFromInitialAndTrajectory(), slic::LcioMcpFactory::createMcpFromInitialOnly(), slic::LcioMcpFactory::createMcpFromInitialRecurse(), slic::LcioMcpFactory::createMcpFromPrimary(), and slic::LcioMcpFactory::createMcpFromTrajectory().

void slic::LcioMcpManager::enablePrintFinal ( bool  p = true  ) 

Definition at line 206 of file LcioMcpManager.cc.

References m_enablePrintFinal.

Referenced by slic::LcioMcpMessenger::SetNewValue().

void slic::LcioMcpManager::enablePrintInitial ( bool  p = true  ) 

Definition at line 211 of file LcioMcpManager.cc.

References m_enablePrintInitial.

Referenced by slic::LcioMcpMessenger::SetNewValue().

void slic::LcioMcpManager::beginEvent ( const G4Event *  anEvent  )  [virtual]

Reimplemented from slic::Module.

Definition at line 216 of file LcioMcpManager.cc.

References m_enablePrintInitial, and printMcpCollection().

double slic::LcioMcpManager::getNoChargeFlag (  )  const

Definition at line 223 of file LcioMcpManager.cc.

References m_NAN.

void slic::LcioMcpManager::setWriteInitialMCParticleCollection ( bool  b  )  [inline]

Definition at line 109 of file LcioMcpManager.hh.

References m_writeInitialMCParticleCollection.

Referenced by slic::LcioMcpMessenger::SetNewValue().

bool slic::LcioMcpManager::writeInitialMCParticleCollection (  )  [inline]

Definition at line 114 of file LcioMcpManager.hh.

References m_writeInitialMCParticleCollection.

Referenced by reset().

void slic::LcioMcpManager::clearMaps (  )  [private]

void slic::LcioMcpManager::deleteInitialMcpCollection (  )  [private]

Definition at line 147 of file LcioMcpManager.cc.

References getInitialMcpCollection().

Referenced by reset().

const std::string& slic::Module::getName (  )  const [inline, inherited]

Definition at line 48 of file Module.hh.

References slic::Module::m_name.

Referenced by slic::ModuleRegistry::deregisterModule(), slic::Module::Module(), slic::ModuleRegistry::registerModule(), and slic::Module::~Module().

const ModuleStatus slic::Module::getStatus (  )  const [inline, inherited]

Definition at line 52 of file Module.hh.

References slic::Module::m_status.

virtual void slic::Module::initialize (  )  [inline, virtual, inherited]

Reimplemented in slic::SlicApplication.

Definition at line 56 of file Module.hh.

virtual void slic::Module::cleanup ( void   )  [inline, virtual, inherited]

Definition at line 62 of file Module.hh.

bool slic::Module::deleteOnExit (  )  [inline, inherited]

Definition at line 65 of file Module.hh.

References slic::Module::m_deleteOnExit.

LogStream& slic::Module::log (  )  [inline, inherited]

Definition at line 70 of file Module.hh.

References slic::Module::m_log.

Referenced by slic::PhysicsListFactory::addBuilder(), slic::EventDebugger::addDebugEvent(), slic::LcioHitsCollectionBuilder::addMcpContribs(), slic::StdHepToLcioConvertor::addMcpDaughter(), slic::StdHepToLcioConvertor::addMcpParent(), slic::TrajectoryManager::addTrackIDToTrajectoryLink(), slic::EventAction::BeginOfEventAction(), slic::EventSourceWithInputFile::beginRun(), slic::StdHepToLcioConvertor::checkParentage(), slic::LcioMcpPrinter::colLabels(), slic::TrajectoryManager::copySecondaryTrackInformationFromParent(), slic::PhysicsListFactory::create(), slic::LcioMcpFactory::createDaughtersFromPrimary(), slic::EventSourceManager::createEventSource(), slic::LcioHitsCollectionBuilder::createHit(), slic::LcioHitsCollectionBuilder::createHitCollections(), createMcpCollection(), slic::LcioMcpFactory::createMcpFromInitialAndPrimary(), slic::StdHepToLcioConvertor::createMcpFromStdHep(), slic::StdHepLoader::dumpCurrentEvent(), slic::StdHepEventSource::dumpCurrentEvent(), slic::ParticleGunEventSource::dumpCurrentEvent(), slic::LcioEventSource::dumpCurrentEvent(), slic::GPSEventSource::dumpCurrentEvent(), slic::EventDebugger::execCleanupMacro(), slic::EventDebugger::execDebugMacro(), slic::StdHepToLcioConvertor::fillCurrentMcpCollectionFromStdHep(), slic::TrajectoryManager::fillTrackIDToTrajectoryMap(), slic::LcioMcpFilter::filterSimParticles(), slic::LcioHitsCollectionBuilder::findMcpHitContribByTrackID(), slic::TrajectoryManager::findTrajectory(), slic::LcioMcpPrinter::flagLabels(), slic::LcioMcpPrinter::foot(), slic::G4MagIntegratorStepperFactory::G4MagIntegratorStepperFactory(), slic::EventSourceManager::generate(), slic::LcioEventSource::getCurrentMcpLCCollection(), slic::LcioFileNamer::getFieldValue(), slic::TrajectoryManager::getNumberOfSecondariesAtEnd(), slic::EventSourceManager::getSourceTypeFromFileExtension(), slic::TrajectoryManager::handleSecondaryTrack(), slic::LcioMcpPrinter::head(), slic::SlicApplication::initialize(), slic::PhysicsListManager::initializePhysicsList(), slic::SlicApplication::initializeUI(), slic::LcioMcpPrinter::line(), slic::SlicMain::main(), slic::LcioManager::makeAutoname(), slic::StdHepToLcioConvertor::makeIndexVec(), slic::Module::Module(), slic::LcioEventSource::open(), slic::LcioManager::openLcioFile(), slic::StdHepLoader::openStdHepFile(), slic::TrajectoryManager::postTracking(), slic::TrajectoryManager::preTracking(), slic::ModuleRegistry::print(), slic::PhysicsListFactory::printAvailableLists(), slic::PrimaryGeneratorAction::printBeginEventMessage(), slic::RunAction::printBeginOfRunMessage(), slic::StdHepToLcioConvertor::printDaughters(), slic::EventAction::printEndEventMessage(), slic::RunAction::printEndOfRunMessage(), slic::StdHepToLcioConvertor::printIndex(), slic::LcioMcpMaps::printInitMcpToMcpMap(), slic::LcioMcpMaps::printMaps(), slic::LcioMcpPrinter::printMcp(), slic::LcioMcpPrinter::printMcpCollection(), printMcpCollection(), slic::LcioMcpMaps::printMcpToPrimaryMap(), slic::StdHepToLcioConvertor::printMothers(), slic::EventSourceManager::printNumEventsGenerated(), slic::CommandLineProcessor::printOptions(), slic::CommandQueue::printOut(), slic::TrajectoryManager::printPhysVolDbg(), slic::TrajectoryManager::printSecondaries(), slic::SlicApplication::printSplashScreen(), slic::TrajectoryManager::printStatusFlags(), slic::TrajectoryManager::printTrack(), slic::StdHepToLcioConvertor::printTrack(), slic::TrajectoryManager::printTrackIDToTrajectoryMap(), slic::LcioMcpMaps::printTrackToMcpMap(), slic::TrajectoryManager::printTrajectory(), slic::CommandLineProcessor::printUsage(), slic::CommandLineProcessor::printVersion(), slic::CommandLineProcessor::process(), slic::StdHepLoader::readNextEvent(), registerMcpCollection(), slic::ModuleRegistry::registerModule(), slic::SlicApplication::run(), slic::LcioMcpPrinter::sep(), slic::PhysicsListManager::setCurrentListName(), slic::LcioManager::setDetectorName(), slic::LcioManager::setFileExistsAction(), slic::EventSourceWithInputFile::setFilename(), slic::LcioHitsCollectionBuilder::setLongFlag(), slic::SlicApplicationMessenger::SetNewValue(), slic::PhysicsMessenger::SetNewValue(), slic::GeneratorMessenger::SetNewValue(), slic::FieldMessenger::SetNewValue(), slic::LcioHitsCollectionBuilder::setPDGFlag(), slic::LcioManager::setRunNumber(), slic::TrajectoryManager::setTrajectoryFinalStatus(), slic::StdHepToLcioConvertor::setupDaughters(), slic::EventSourceManager::setupEventSource(), slic::PhysicsListManager::setupOpticalProcesses(), slic::StdHepToLcioConvertor::setupParents(), slic::PhysicsListManager::setupUserLimitsProcesses(), slic::SlicApplication::SlicApplication(), slic::EventAction::startEventTimer(), slic::RunAction::startRunTimer(), slic::EventAction::stopEventTimer(), slic::RunAction::stopRunTimer(), slic::Module::~Module(), and slic::SlicApplication::~SlicApplication().

virtual void slic::Module::beginRun ( const G4Run *   )  [inline, virtual, inherited]

Reimplemented in slic::EventDebugger, slic::EventSource, slic::EventSourceManager, slic::EventSourceWithInputFile, slic::LcioEventSource, slic::LcioManager, and slic::StdHepEventSource.

Definition at line 81 of file Module.hh.

virtual void slic::Module::endRun ( const G4Run *   )  [inline, virtual, inherited]

Reimplemented in slic::EventSource, slic::EventSourceManager, and slic::LcioManager.

Definition at line 84 of file Module.hh.

virtual void slic::Module::preTracking ( const G4Track *   )  [inline, virtual, inherited]

Reimplemented in slic::TrajectoryManager.

Definition at line 87 of file Module.hh.

virtual void slic::Module::postTracking ( const G4Track *   )  [inline, virtual, inherited]

Reimplemented in slic::TrajectoryManager.

Definition at line 90 of file Module.hh.

virtual void slic::Module::stepping ( const G4Step *   )  [inline, virtual, inherited]

Reimplemented in slic::TrajectoryManager.

Definition at line 93 of file Module.hh.

G4ClassificationOfNewTrack slic::Module::stackingClassifyNewTrack ( const G4Track *   )  [inline, inherited]

Definition at line 96 of file Module.hh.

void slic::Module::stackingNewStage (  )  [inline, inherited]

Definition at line 103 of file Module.hh.

void slic::Module::stackingPrepareNewEvent (  )  [inline, inherited]

Definition at line 106 of file Module.hh.

template<class T>
T * Singleton< T >::instance (  )  [inline, static, inherited]

Definition at line 31 of file Singleton.hh.

References Singleton< T >::m_singleton.

Referenced by slic::LcioManager::addInitialMCParticleCollection(), slic::StdHepEventSource::beginEvent(), slic::LcioEventSource::beginEvent(), slic::EventAction::BeginOfEventAction(), slic::RunAction::BeginOfRunAction(), slic::EventSourceWithInputFile::beginRun(), slic::LcioMcpFactory::createFinalMcpCollection(), slic::LcioMcpFactory::createMcpFromPrimary(), slic::LcioManager::createRunHeader(), slic::LcioEventSource::dumpCurrentEvent(), slic::LcioManager::endEvent(), slic::EventAction::EndOfEventAction(), slic::RunAction::EndOfRunAction(), slic::LcioManager::endRun(), slic::StdHepEventSource::generate(), slic::LcioEventSource::generate(), slic::PrimaryGeneratorAction::GeneratePrimaries(), slic::LcioEventSource::getCurrentMcpLCCollection(), slic::LcioFileNamer::getFieldValue(), slic::SlicApplication::initialize(), slic::RunManager::InitializePhysics(), slic::PhysicsListManager::initializePhysicsList(), slic::LcioHitsCollectionBuilder::LcioHitsCollectionBuilder(), slic::LcioManager::LcioManager(), slic::LcioPrimaryGenerator::LcioPrimaryGenerator(), slic::SlicMain::main(), slic::LcioFileNamer::makeEventName(), slic::LcioFileNamer::makeEventNumberString(), slic::LcioFileNamer::makeFileBasedName(), slic::LcioFileNamer::makeGPSName(), slic::LcioFileNamer::makeGunName(), slic::Module::Module(), slic::PhysicsListManager::PhysicsListManager(), slic::SlicApplication::printUsage(), slic::SlicApplication::printVersion(), slic::SlicApplication::run(), slic::PhysicsMessenger::SetNewValue(), slic::LcioMcpMessenger::SetNewValue(), slic::GeneratorMessenger::SetNewValue(), slic::FieldMessenger::SetNewValue(), slic::EventDebuggerMessenger::SetNewValue(), slic::TrackingAction::TrackingAction(), slic::SteppingAction::UserSteppingAction(), slic::Module::~Module(), and slic::SlicApplication::~SlicApplication().

template<class T>
void Singleton< T >::release (  )  [inline, inherited]

Definition at line 40 of file Singleton.hh.

References Singleton< T >::m_singleton.


Member Data Documentation

IMPL::LCEventImpl* slic::LcioMcpManager::m_currentLCEvent [private]

Definition at line 130 of file LcioMcpManager.hh.

LcioMcpPrinter* slic::LcioMcpManager::m_printer [private]

Definition at line 133 of file LcioMcpManager.hh.

Referenced by LcioMcpManager(), and printMcpCollection().

double slic::LcioMcpManager::m_vertexIsNotEndpointOfParentTolerance [private]

Definition at line 136 of file LcioMcpManager.hh.

double slic::LcioMcpManager::m_minimumTrackingDistance [private]

Definition at line 137 of file LcioMcpManager.hh.

Referenced by getMinimumTrackingDistance(), and setMinimumTrackingDistance().

LcioMcpMessenger* slic::LcioMcpManager::m_messenger [private]

Definition at line 140 of file LcioMcpManager.hh.

Referenced by LcioMcpManager().

McpCollectionMap slic::LcioMcpManager::m_mcpColls [private]

Definition at line 143 of file LcioMcpManager.hh.

Referenced by findMcpCollection(), getFinalMcpCollection(), getInitialMcpCollection(), registerMcpCollection(), reset(), and setInitialMcpCollection().

LcioMcpFactory* slic::LcioMcpManager::m_factory [private]

Definition at line 146 of file LcioMcpManager.hh.

Referenced by endEvent(), and LcioMcpManager().

LcioMcpMaps* slic::LcioMcpManager::m_maps [private]

Definition at line 149 of file LcioMcpManager.hh.

Referenced by endEvent(), getMaps(), LcioMcpManager(), and reset().

bool slic::LcioMcpManager::m_enablePrintFinal [private]

Definition at line 151 of file LcioMcpManager.hh.

Referenced by enablePrintFinal(), and endEvent().

bool slic::LcioMcpManager::m_enablePrintInitial [private]

Definition at line 152 of file LcioMcpManager.hh.

Referenced by beginEvent(), and enablePrintInitial().

bool slic::LcioMcpManager::m_writeInitialMCParticleCollection [private]

Definition at line 153 of file LcioMcpManager.hh.

Referenced by setWriteInitialMCParticleCollection(), and writeInitialMCParticleCollection().

const double slic::LcioMcpManager::m_NAN = std::sqrt((double)-1.0) [static]

Definition at line 156 of file LcioMcpManager.hh.

Referenced by slic::LcioMcpFactory::createMcpFromPrimaryShallowCopy(), slic::StdHepToLcioConvertor::createMcpFromStdHep(), getNoChargeFlag(), and LcioMcpManager().

const double slic::LcioMcpManager::DEFAULT_MIN_TRACKING_DISTANCE = 1.0 [static]

Definition at line 157 of file LcioMcpManager.hh.

ModuleStatus slic::Module::m_status [inherited]

Definition at line 110 of file Module.hh.

Referenced by slic::Module::getStatus().

std::string slic::Module::m_name [inherited]

Reimplemented in slic::EventSource.

Definition at line 111 of file Module.hh.

Referenced by slic::Module::getName(), and slic::Module::Module().

LogStream slic::Module::m_log [inherited]

Definition at line 112 of file Module.hh.

Referenced by slic::Module::log(), and slic::Module::Module().

bool slic::Module::m_deleteOnExit [inherited]

Definition at line 113 of file Module.hh.

Referenced by slic::Module::deleteOnExit().


The documentation for this class was generated from the following files:
Generated on Thu Nov 15 15:24:40 2007 for Simulator for the Linear Collider by  doxygen 1.5.4