![]() |
ATLAS Offline Software
|
ISF particle broker responsible to flag particles with their corresponding simulator. More...
#include <ParticleBrokerDynamicOnReadIn.h>
Public Member Functions | |
| ParticleBrokerDynamicOnReadIn (const std::string &name, ISvcLocator *pSvcLocator) | |
| Constructor. | |
| virtual | ~ParticleBrokerDynamicOnReadIn () |
| Destructor. | |
| StatusCode | initialize () |
| Athena algorithm's interface methods. | |
| StatusCode | initializeEvent (ISFParticleContainer &&simParticles) |
| Initialize the particle broker. | |
| virtual StatusCode | finalizeEvent () |
| Finalize the event in the broker service. | |
| virtual void | push (ISFParticle *particle, const ISFParticle *ancestor) |
| add a new particle to the stack and inherit ISF properties from the given ancestor ISF particel (usually the particle which ISF handed over to the simulator) | |
| virtual const ISFParticleVector & | popVector (size_t maxVectorSize) |
| Get vectors of ISF particles from the broker. | |
| virtual size_t | numParticles () const |
| Get the current stack size. | |
| StatusCode | dump () const |
| Return the particle stack (not implemented) | |
| StatusCode | registerSimSelector (SimSelectorToolArray &simSelectorTools, AtlasDetDescr::AtlasRegion geoID) |
| Register an array of SimulationSelectors. | |
Private Member Functions | |
| ParticleBrokerDynamicOnReadIn () | |
| Default constructor. | |
| StatusCode | registerPosValTree (const char *treeName, const char *treeDescr, TTree *&tree) |
| setup the ROOT TTrees for THistSvc in validation mode | |
| void | fillPosValTree (TTree *tree, const ISFParticle &particle) |
| fill the TTree with the (x,y,z) coordinates of the given ISFParticle | |
| void | updateAllSelectors (const ISFParticle &particle) |
| update all unfrozen simSelectors with the given particle | |
| void | selectAndStore (ISFParticle *p) |
| go through the chain of SimulationSelectors and let the first one which selects the particle decide which simulation the particle will be assigned to | |
| ISF::SimSvcID | identifySimID (const ISF::ISFParticle *p) |
| go through the chain of SimulationSelectors and return the SimulatoID of the first SimulationSelector that selects the particle | |
Private Attributes | |
| PublicToolHandle< IEntryLayerTool > | m_entryLayerTool {this, "EntryLayerTool", "iGeant4::EntryLayerTool/ISF_EntryLayerTool"} |
| AthenaTool responsible for writing Calo/Muon Entry/Exit Layer collection. | |
| PublicToolHandle< IParticleOrderingTool > | m_orderingTool {this, "ParticleOrderingTool", ""} |
| AthenaTool responsible for proritizing the particles and determine their simulation order. | |
| ServiceHandle< IGeoIDSvc > | m_geoIDSvc {this, "GeoIDSvc", ""} |
| the geo identifier service used to route the particle into the right SimulationSelector chain | |
| IGeoIDSvc * | m_geoIDSvcQuick {} |
| minimize Gaudi overhead | |
| BooleanProperty | m_forceGeoIDSvc {this, "AlwaysUseGeoIDSvc", false} |
| always use GeoIDSvc to determine GeoID of given particles | |
| BooleanProperty | m_validateGeoID {this, "ValidateGeoIDs", false} |
| always use GeoIDSvc to check correctness of GeoIDs already assigned to particles | |
| ISFParticleOrderedQueue | m_particles |
| the particle container storing all particles which need to be simulated | |
| ISFParticleVector | m_popParticles |
| the vector of particles returned for simulation (via popVector() ) | |
| SimSelectorArray | m_simSelector [AtlasDetDescr::fNumAtlasRegions] |
| the simulation selectors per geoID (the actual routing chain) | |
| SimSelectorSet | m_simSelectorSet |
| used to remove multiple uses of the same selector | |
| std::string | m_screenOutputPrefix {"isf >> "} |
| Screen output refinement. | |
| std::string | m_screenEmptyPrefix {""} |
| BooleanProperty | m_doSelectorCPUMon {this, "SimSelectorCPUMonitoring", false} |
| Benchmarking. | |
| PMonUtils::CustomBenchmark * | m_benchPDGCode {} |
| PMonUtils::CustomBenchmark * | m_benchGeoID {} |
| BooleanProperty | m_validationOutput {this, "ValidationOutput", false, "If turned on, write out a ROOT tree."} |
| validation mode: create ROOT Tree with additional information | |
| ServiceHandle< ITHistSvc > | m_thistSvc {this, "THistService", "THistSvc"} |
| the histogram service | |
| StringProperty | m_validationStream {this, "ValidationStreamName", "ParticleBroker"} |
| validation THist stream name | |
| TTree * | m_t_pushPosition {} |
| the actual validation histograms and ROOT trees | |
| TTree * | m_t_entryLayerPos [ISF::fNumAtlasEntryLayers] |
| int | m_val_pdg {0} |
| memory containing the entries for the ROOT tree | |
| float | m_val_p {0.f} |
| float | m_val_x {0.f} |
| float | m_val_y {0.f} |
| float | m_val_z {0.f} |
ISF particle broker responsible to flag particles with their corresponding simulator.
On detector boundaries, simulators hand back all particles that pass them via the push() method.
Definition at line 53 of file ParticleBrokerDynamicOnReadIn.h.
| ISF::ParticleBrokerDynamicOnReadIn::ParticleBrokerDynamicOnReadIn | ( | const std::string & | name, |
| ISvcLocator * | pSvcLocator ) |
Constructor.
Definition at line 30 of file ParticleBrokerDynamicOnReadIn.cxx.
|
virtual |
|
private |
Default constructor.
| StatusCode ISF::ParticleBrokerDynamicOnReadIn::dump | ( | ) | const |
Return the particle stack (not implemented)
Definition at line 418 of file ParticleBrokerDynamicOnReadIn.cxx.
|
private |
fill the TTree with the (x,y,z) coordinates of the given ISFParticle
fill the TTree with the given (x,y,z) values
Definition at line 142 of file ParticleBrokerDynamicOnReadIn.cxx.
|
virtual |
Finalize the event in the broker service.
Finalize the event in the stackSvc.
Definition at line 299 of file ParticleBrokerDynamicOnReadIn.cxx.
|
private |
go through the chain of SimulationSelectors and return the SimulatoID of the first SimulationSelector that selects the particle
Definition at line 208 of file ParticleBrokerDynamicOnReadIn.cxx.
| StatusCode ISF::ParticleBrokerDynamicOnReadIn::initialize | ( | ) |
Athena algorithm's interface methods.
framework methods
Definition at line 46 of file ParticleBrokerDynamicOnReadIn.cxx.
| StatusCode ISF::ParticleBrokerDynamicOnReadIn::initializeEvent | ( | ISFParticleContainer && | simParticles | ) |
Initialize the particle broker.
Initialize the stackSvc and the truthSvc.
Definition at line 247 of file ParticleBrokerDynamicOnReadIn.cxx.
|
inlinevirtual |
|
virtual |
Get vectors of ISF particles from the broker.
Definition at line 376 of file ParticleBrokerDynamicOnReadIn.cxx.
|
virtual |
add a new particle to the stack and inherit ISF properties from the given ancestor ISF particel (usually the particle which ISF handed over to the simulator)
add a new particle to the stack and link it to its parent
Definition at line 312 of file ParticleBrokerDynamicOnReadIn.cxx.
|
private |
setup the ROOT TTrees for THistSvc in validation mode
Definition at line 123 of file ParticleBrokerDynamicOnReadIn.cxx.
| StatusCode ISF::ParticleBrokerDynamicOnReadIn::registerSimSelector | ( | SimSelectorToolArray & | simSelectorTools, |
| AtlasDetDescr::AtlasRegion | geoID ) |
Register an array of SimulationSelectors.
Definition at line 95 of file ParticleBrokerDynamicOnReadIn.cxx.
|
private |
go through the chain of SimulationSelectors and let the first one which selects the particle decide which simulation the particle will be assigned to
Definition at line 169 of file ParticleBrokerDynamicOnReadIn.cxx.
|
private |
update all unfrozen simSelectors with the given particle
update all SimulationSelectors in the routing chain with the given particle
Definition at line 160 of file ParticleBrokerDynamicOnReadIn.cxx.
|
private |
Definition at line 148 of file ParticleBrokerDynamicOnReadIn.h.
|
private |
Definition at line 147 of file ParticleBrokerDynamicOnReadIn.h.
|
private |
Benchmarking.
whether we use PMonUtils or not
Definition at line 146 of file ParticleBrokerDynamicOnReadIn.h.
|
private |
AthenaTool responsible for writing Calo/Muon Entry/Exit Layer collection.
Definition at line 115 of file ParticleBrokerDynamicOnReadIn.h.
|
private |
always use GeoIDSvc to determine GeoID of given particles
Definition at line 126 of file ParticleBrokerDynamicOnReadIn.h.
|
private |
the geo identifier service used to route the particle into the right SimulationSelector chain
Definition at line 122 of file ParticleBrokerDynamicOnReadIn.h.
|
private |
|
private |
AthenaTool responsible for proritizing the particles and determine their simulation order.
Definition at line 118 of file ParticleBrokerDynamicOnReadIn.h.
|
private |
the particle container storing all particles which need to be simulated
Definition at line 132 of file ParticleBrokerDynamicOnReadIn.h.
|
private |
the vector of particles returned for simulation (via popVector() )
Definition at line 135 of file ParticleBrokerDynamicOnReadIn.h.
|
private |
Definition at line 143 of file ParticleBrokerDynamicOnReadIn.h.
|
private |
Screen output refinement.
Definition at line 142 of file ParticleBrokerDynamicOnReadIn.h.
|
private |
the simulation selectors per geoID (the actual routing chain)
selectors per geoID
Definition at line 138 of file ParticleBrokerDynamicOnReadIn.h.
|
private |
used to remove multiple uses of the same selector
Definition at line 139 of file ParticleBrokerDynamicOnReadIn.h.
|
private |
Definition at line 156 of file ParticleBrokerDynamicOnReadIn.h.
|
private |
the actual validation histograms and ROOT trees
Definition at line 155 of file ParticleBrokerDynamicOnReadIn.h.
|
private |
the histogram service
Definition at line 152 of file ParticleBrokerDynamicOnReadIn.h.
|
private |
Definition at line 159 of file ParticleBrokerDynamicOnReadIn.h.
|
private |
memory containing the entries for the ROOT tree
Definition at line 158 of file ParticleBrokerDynamicOnReadIn.h.
|
private |
Definition at line 160 of file ParticleBrokerDynamicOnReadIn.h.
|
private |
Definition at line 161 of file ParticleBrokerDynamicOnReadIn.h.
|
private |
Definition at line 162 of file ParticleBrokerDynamicOnReadIn.h.
|
private |
always use GeoIDSvc to check correctness of GeoIDs already assigned to particles
Definition at line 129 of file ParticleBrokerDynamicOnReadIn.h.
|
private |
validation mode: create ROOT Tree with additional information
turn validation mode on/off
Definition at line 151 of file ParticleBrokerDynamicOnReadIn.h.
|
private |
validation THist stream name
Definition at line 153 of file ParticleBrokerDynamicOnReadIn.h.