ATLAS Offline Software
Loading...
Searching...
No Matches
ISF Namespace Reference

ISFParticleOrderedQueue. More...

Classes

class  ActsFatrasSimTool
class  ATLFAST_EnvelopeDefSvc
class  BaseSimulationG4Svc
 Base class for an ISimulatorSvc which requires a Geant4 UserInfo object. More...
class  BaseSimulationSelector
class  BaseSimulationSvc
 Concrete base class for all simulation services. More...
class  BaseSimulatorG4Tool
class  BaseSimulatorTool
 Concrete base class for all simulator Tools. More...
class  CollectionMerger
 Athena Algorithm that merges a given set of StoreGate collections in one final collection. More...
class  CosmicEventFilterTool
 the code used in this implementation is kindly stolen from: atlasoff:: Simulation/G4Extentions/G4CosmicFilter/ More...
class  CylinderVolumeTruthStrategy
 This ITruthStrategy implementation provides checks on the given ITruthIncident, whether it lies on a defined surface or not. More...
class  DefaultSimSelector
 This SimlationSelector implementation will select all particles that are handed to it. More...
class  DNNCaloSimSvc
class  EnergyParticleOrderingTool
 This AthenaAlgTool orders the particles according to their kinetic energy. More...
class  EntryLayerFilter
 A generic ISFParticle filter using the particle barcode to make it's filter decisions: More...
class  EntryLayerTool
class  EntryLayerToolMT
class  FastCaloSimV2ParamSvc
class  FastCaloSimV2Tool
class  FatrasSimTool
class  G4PolyconeGeoIDSvc
class  GenericParticleOrderingTool
 This AtheanAlgTool orders the particles according to it's SimSvcID. More...
class  GenericTruthStrategy
 A multi-purpose implementation of an ISF TruthStrategy. More...
class  GenParticleFinalStateFilter
 Stable/Interacting particle filter for HepMC particles to be used in the stack filling process. More...
class  GenParticleGenericFilter
 Core Athena algorithm for the Integrated Simulation Framework. More...
class  GenParticleInteractingFilter
 Stable/Interacting particle filter for HepMC particles to be used in the stack filling process. More...
class  GenParticleLifetimeFilter
 Filter out particles with lifetimes shorter than a minimum value. More...
class  GenParticlePositionFilter
 Particle filter by position, to be used for initial GenEvent read-in. More...
class  GenParticleSimAcceptList
 Stable/Interacting particle filter for HepMC particles to be used in the stack filling process. More...
class  GenParticleSimQuasiStableFilter
 Quasi stable particle and their daughter filter for HepMC particles to be used in the stack filling process. More...
class  GeoIDSvc
 A fast Athena service identifying the AtlasRegion a given position/particle is in. More...
class  HepMCHelper
 Simplistic Particle cut filter. More...
class  IEntryLayerTool
class  IEventFilterTool
class  IFastCaloSimParamSvc
class  IFlavorSvcFilter
 The base class of flavor service filters, allows to also create dynamic flavor service filters that are no AlgTools. More...
class  IG4RunManagerHelper
class  IGenEventFilter
class  IGenParticleFilter
 Interface definition for HepMC::GenParticle filter, these filters should be primarily be used in the stack filling process. More...
class  IGeoIDSvc
 The interface to chose between the sub geometry services, realized as an AlgTool since it does not have to be dynamically created. More...
class  IInputConverter
 Interface to Athena service that converts an input McEventCollection into a container of ISFParticles. More...
class  IMonitoringTool
 @ class IMonitoringTool More...
class  InputConverter
 Convert simulation input collections to ISFParticles for subsequent ISF simulation. More...
class  IParticleBroker
 @ class IParticleBroker More...
class  IParticleFilter
class  IParticleHelper
 Interface to create a particle from primary information, allows to reduce dependency on actual StackParticle implementation. More...
class  IParticleOrderingTool
 The implementation of this AtheanAlgTool interface has to compute an order for each given particle. More...
class  IParticleProcessor
 universal processor tool, e.g. More...
class  IPunchThroughClassifier
 Interface for a tool which takes simulstate and particle and predicts whether it should result in a muon segment. More...
class  IPunchThroughTool
 Interface for a tool which takes a ISF::ISFParticle as input and returns a vector of ISFParticles. More...
class  ISFBenchmarkHelper
 readability for PMonUtils::CustomBenchmarkGuard usage with ISF::ISFParticle types More...
class  ISFEnvelopeDefSvc
class  ISFParticle
 The generic ISF particle definition,. More...
struct  ISFParticleOrdering
 sort function according to particle order More...
class  ISFTruthIncident
 Interface class for all truth incidents handled by the ISF. More...
class  ISimulationSelector
class  ISimulationSvc
 @ class ISimulationSvc More...
class  ISimulatorTool
class  IStaticFlavorSvcFilter
 The static version of the FlavorSvc filter, realized as an AlgTool because this can be done at configuration level. More...
class  ITrkExtrapolator
 An Athena AlgTool wrapper for the Tracking Extrapolator engine. More...
class  ITruthIncident
 ISF interface class for TruthIncidents. More...
class  ITruthStrategy
class  ITruthSvc
 @ class ITruthSvc More...
class  KeepChildrenTruthStrategy
 A modifier for the purposes of truth strategies defining cases in which we should keep all the children of an interaction. More...
class  KinematicParticleCuts
 Simplistic Particle cut filter. More...
class  KinematicParticleFilter
 A generic kinematic ISFParticle filter using the implementation present in ISF::KinematicParticleCuts. More...
class  KinematicSimSelector
 Simplistic kinematic filter on energy and pseudorapidity. More...
class  LegacySimSvc
class  LLPTruthStrategy
 An ISF truth strategy for recording long lived particles to the MC truth. More...
struct  MaterialPathInfo
class  MemoryMonitoringTool
 the code actually computing the memory usage is kindly stolen from: atlasoff:: Simulation/G4Sim/SimHelpers/SimHelpers/MemorySnooper.h More...
class  ParticleBrokerDynamicOnReadIn
 ISF particle broker responsible to flag particles with their corresponding simulator. More...
class  ParticleClipboard
 This singleton is used to pass current particle information between different namespaces, ie functions. More...
class  ParticleHelper
 A helper tool for the creation or update of an ISF::ISFParticle objects. More...
class  ParticleKillerSimTool
class  ParticleUserInformation
 Each ISFParticle carries a pointer to this class. More...
class  PDFcreator
 Creates random numbers with a distribution given as ROOT TF1. More...
class  PunchThroughClassifier
class  PunchThroughParticle
 This class holds information for different properties of a punch-through particle (energy, theta, phi) distributions. More...
class  PunchThroughTool
class  RenameHitCollectionsAlg
 Athena Algorithm that makes copies of existing collections in StoreGate and stores them under new keys. More...
class  SimEventFilter
class  SimHitTreeCreator
class  SimKernel
 This is the purely sequential simulation kernel, executed once per event. More...
class  SimKernelMT
 Core Athena algorithm for the Integrated Simulation Framework. More...
struct  SortByRadius
class  TrkExtrapolator
 An Athena AlgTool wrapper for the Tracking Extrapolator engine. More...
class  TruthBinding
class  TruthPreselectionTool
class  TruthSvc
 HepMC based version of the ISF::ITruthSvc, currently it takes an ITruthIncident base class. More...
class  ValidationTruthStrategy
 This truth strategy is used to record a high number of interaction processes. More...

Typedefs

typedef std::pair< AtlasDetDescr::AtlasRegion, ISF::SimSvcIDDetRegionSvcIDPair
 the datatype to be used to store each individual particle hop
typedef std::vector< DetRegionSvcIDPairParticleHistory
 the container type to be used for the particle hops
typedef std::list< ISF::ISFParticle * > ISFParticleContainer
 generic ISFParticle container (not necessarily a std::list!)
typedef std::list< const ISF::ISFParticle * > ConstISFParticleContainer
typedef std::vector< ISF::ISFParticle * > ISFParticleVector
 ISFParticle vector.
typedef std::vector< const ISF::ISFParticle * > ConstISFParticleVector
typedef std::priority_queue< ISF::ISFParticle *, ISF::ISFParticleVector, ISF::ISFParticleOrderingISFParticleOrderedQueue
 the actual particle priority_queue
typedef enum ISF::InteractionClass_t InteractionClass_t
 The interaction classifications are described as follows: STD_VTX: interaction of a particle without a pre-defined decay; QS_SURV_VTX: a particle with a pre-defined decay under-going a non-destructive interaction; QS_DEST_VTX: a particle with a pre-defined decay under-going a destructive interaction other than its pre-defined decay; QS_PREDEF_VTX: a particle under-going its pre-defined decay.
typedef int ParticleOrder
 particle order definition
typedef uint8_t SimSvcID
 Simulation service ID datatype.
typedef ToolHandleArray< ISimulationSelectorSimSelectorToolArray
 typedef for better readable code
typedef int SimulationFlavor
 Identifier type for simulation flavor.
typedef std::pair< double, AtlasDetDescr::AtlasRegionRadiusGeoIDPair
typedef std::list< RZPairRZPairList
typedef std::set< RadiusGeoIDPair, SortByRadiusRadiusGeoIDPairSet
typedef std::vector< ISimulationSelector * > SimSelectorArray
typedef std::set< ISimulationSelector * > SimSelectorSet
typedef std::pair< const char *, int > InfoUsagePair
 these datatypes used to store (infoStr,memUsage) paired info
typedef std::vector< InfoUsagePair * > InfoUsagePairVector
typedef std::vector< double > DoubleVector
typedef ToolHandleArray< ISF::IParticleFilterParticleFilterArray
 use this typedef to make the code structure more clean
typedef std::vector< int > VertexTypesVector
typedef std::set< int > VertexTypesSet
typedef std::vector< int > PDGCodesVector
typedef std::set< int > PDGCodesSet
typedef std::vector< int > PDGCodes
 used to store a list of PDG particle codes

Enumerations

enum  EntryLayer {
  fUnsetEntryLayer = 0 , fFirstAtlasEntryLayer = 1 , fAtlasCaloEntry = 1 , fAtlasMuonEntry = 2 ,
  fAtlasMuonExit = 3 , fNumAtlasEntryLayers = 4
}
 Identifiers for the TrackRecordCollections on the boundaries between CaloEntry: Inner Detector - Calorimeter MuonEntry: Calorimeter - Muon Spectrometer MuonExit : Muon Spectrometer - Cavern. More...
enum  PDGCodeEnum { fUndefinedPDGCode = 0 , fMaxBenchmarkPDGCode = 5000 }
 This enum enhaces readablity for PDGCode profiling with the PMonUtils::CustomBenchmarkGuard. More...
enum  KillPrimary { fPrimarySurvives = false , fKillsPrimary = true }
 Basically only a boolean, which helps making the code more readable. More...
enum  InteractionClass_t {
  STD_VTX = 0 , QS_SURV_VTX = 1 , QS_DEST_VTX = 2 , QS_PREDEF_VTX = 3 ,
  UNKNOWN_VTX
}
 The interaction classifications are described as follows: STD_VTX: interaction of a particle without a pre-defined decay; QS_SURV_VTX: a particle with a pre-defined decay under-going a non-destructive interaction; QS_DEST_VTX: a particle with a pre-defined decay under-going a destructive interaction other than its pre-defined decay; QS_PREDEF_VTX: a particle under-going its pre-defined decay. More...
enum  SimSvcIDs { fUndefinedSimID = ISF::SimSvcID( 0 ) , fEventGeneratorSimID = ISF::SimSvcID( 1 ) , fFirstAtlasSimID = ISF::SimSvcID( 2 ) , fMaxNumAtlasSimIDs = ISF::SimSvcID( 32 ) }
enum  InsideType { fOutside = 0 , fSurface = 1 , fInside = 2 , fNumInsideTypes = 3 }
enum  SimulationDefinitions {
  UndefinedSim = 0 , ParticleKiller = 1 , Fatras = 2 , Geant4 = 3 ,
  FastCaloSim = 4 , FastCaloSimV2 = 5 , Parametric = 6 , FatrasPileup = 7 ,
  FastCaloSimPileup = 8 , NFlavors = 9
}
 enum to make the code more readable More...

Functions

MsgStream & operator<< (MsgStream &sl, const ISF::ISFParticle &isfp)
std::ostream & operator<< (std::ostream &sl, const ISF::ISFParticle &isfp)
MsgStream & operator<< (MsgStream &sl, const SimSvcID &id)
 Overload of << operator for correct output on MsgStream and std::ostream.
std::ostream & operator<< (std::ostream &sl, const SimSvcID &id)

Variables

const ParticleOrder DefaultParticleOrder = 1

Detailed Description

ISFParticleOrderedQueue.

A generic particle filter tool for HepMC::GenParticle types.

Author
Elmar Ritsch
Date
October 2016

Typedef Documentation

◆ ConstISFParticleContainer

Definition at line 24 of file ISFParticleContainer.h.

◆ ConstISFParticleVector

typedef std::vector<const ISF::ISFParticle *> ISF::ConstISFParticleVector

Definition at line 27 of file ISFParticleContainer.h.

◆ DetRegionSvcIDPair

the datatype to be used to store each individual particle hop

Definition at line 30 of file ISFParticle.h.

◆ DoubleVector

typedef std::vector<double> ISF::DoubleVector

Definition at line 31 of file G4PolyconeGeoIDSvc.h.

◆ InfoUsagePair

typedef std::pair<const char* , int> ISF::InfoUsagePair

these datatypes used to store (infoStr,memUsage) paired info

Definition at line 26 of file MemoryMonitoringTool.h.

◆ InfoUsagePairVector

typedef std::vector<InfoUsagePair*> ISF::InfoUsagePairVector

Definition at line 27 of file MemoryMonitoringTool.h.

◆ InteractionClass_t

The interaction classifications are described as follows: STD_VTX: interaction of a particle without a pre-defined decay; QS_SURV_VTX: a particle with a pre-defined decay under-going a non-destructive interaction; QS_DEST_VTX: a particle with a pre-defined decay under-going a destructive interaction other than its pre-defined decay; QS_PREDEF_VTX: a particle under-going its pre-defined decay.

◆ ISFParticleContainer

generic ISFParticle container (not necessarily a std::list!)

Definition at line 23 of file ISFParticleContainer.h.

◆ ISFParticleOrderedQueue

the actual particle priority_queue

Definition at line 28 of file ISFParticleOrderedQueue.h.

◆ ISFParticleVector

typedef std::vector<ISF::ISFParticle *> ISF::ISFParticleVector

ISFParticle vector.

Definition at line 26 of file ISFParticleContainer.h.

◆ ParticleFilterArray

typedef ToolHandleArray< ISF::IParticleFilter > ISF::ParticleFilterArray

use this typedef to make the code structure more clean

Definition at line 32 of file EntryLayerTool.h.

◆ ParticleHistory

typedef std::vector< DetRegionSvcIDPair > ISF::ParticleHistory

the container type to be used for the particle hops

Definition at line 32 of file ISFParticle.h.

◆ ParticleOrder

typedef int ISF::ParticleOrder

particle order definition

Definition at line 15 of file ParticleOrder.h.

◆ PDGCodes

typedef std::vector<int> ISF::PDGCodes

used to store a list of PDG particle codes

Definition at line 29 of file GenParticleGenericFilter.h.

◆ PDGCodesSet

typedef std::set< int > ISF::PDGCodesSet

Definition at line 27 of file GenericTruthStrategy.h.

◆ PDGCodesVector

typedef std::vector< int > ISF::PDGCodesVector

Definition at line 26 of file GenericTruthStrategy.h.

◆ RadiusGeoIDPair

Definition at line 28 of file GeoIDSvc.h.

◆ RadiusGeoIDPairSet

Definition at line 35 of file GeoIDSvc.h.

◆ RZPairList

typedef std::list<RZPair> ISF::RZPairList

Definition at line 29 of file GeoIDSvc.h.

◆ SimSelectorArray

Definition at line 42 of file ParticleBrokerDynamicOnReadIn.h.

◆ SimSelectorSet

Definition at line 43 of file ParticleBrokerDynamicOnReadIn.h.

◆ SimSelectorToolArray

typedef for better readable code

Definition at line 76 of file ISimulationSelector.h.

◆ SimSvcID

typedef uint8_t ISF::SimSvcID

Simulation service ID datatype.

Definition at line 28 of file SimSvcID.h.

◆ SimulationFlavor

typedef int ISF::SimulationFlavor

Identifier type for simulation flavor.

Definition at line 16 of file SimulationFlavor.h.

◆ VertexTypesSet

typedef std::set< int > ISF::VertexTypesSet

Definition at line 25 of file GenericTruthStrategy.h.

◆ VertexTypesVector

typedef std::vector< int > ISF::VertexTypesVector

Definition at line 24 of file GenericTruthStrategy.h.

Enumeration Type Documentation

◆ EntryLayer

Identifiers for the TrackRecordCollections on the boundaries between CaloEntry: Inner Detector - Calorimeter MuonEntry: Calorimeter - Muon Spectrometer MuonExit : Muon Spectrometer - Cavern.

Author
Elmar.Ritsch -at- cern.ch
Enumerator
fUnsetEntryLayer 
fFirstAtlasEntryLayer 
fAtlasCaloEntry 
fAtlasMuonEntry 
fAtlasMuonExit 
fNumAtlasEntryLayers 

Definition at line 31 of file EntryLayer.h.

31 {
32 // Not yet set
34 // first Geometry element in enum, used in e.g. loops
36 // actual list of entry layers
40 // number of defined EntryLayers
42 };
@ fAtlasMuonExit
Definition EntryLayer.h:39
@ fUnsetEntryLayer
Definition EntryLayer.h:33
@ fNumAtlasEntryLayers
Definition EntryLayer.h:41
@ fAtlasCaloEntry
Definition EntryLayer.h:37
@ fFirstAtlasEntryLayer
Definition EntryLayer.h:35
@ fAtlasMuonEntry
Definition EntryLayer.h:38

◆ InsideType

Enumerator
fOutside 
fSurface 
fInside 
fNumInsideTypes 

Definition at line 22 of file IGeoIDSvc.h.

22 {
23 fOutside = 0,
24 fSurface = 1,
25 fInside = 2,
26 // to be used to allocate arrays
28 };
@ fInside
Definition IGeoIDSvc.h:25
@ fOutside
Definition IGeoIDSvc.h:23
@ fSurface
Definition IGeoIDSvc.h:24
@ fNumInsideTypes
Definition IGeoIDSvc.h:27

◆ InteractionClass_t

The interaction classifications are described as follows: STD_VTX: interaction of a particle without a pre-defined decay; QS_SURV_VTX: a particle with a pre-defined decay under-going a non-destructive interaction; QS_DEST_VTX: a particle with a pre-defined decay under-going a destructive interaction other than its pre-defined decay; QS_PREDEF_VTX: a particle under-going its pre-defined decay.

Enumerator
STD_VTX 
QS_SURV_VTX 
QS_DEST_VTX 
QS_PREDEF_VTX 
UNKNOWN_VTX 

Definition at line 27 of file ITruthIncident.h.

27 {
28 STD_VTX = 0,
29 QS_SURV_VTX = 1,
30 QS_DEST_VTX = 2,
31 QS_PREDEF_VTX = 3,
InteractionClass_t
The interaction classifications are described as follows: STD_VTX: interaction of a particle without ...
@ QS_SURV_VTX
@ QS_PREDEF_VTX
@ UNKNOWN_VTX
@ QS_DEST_VTX

◆ KillPrimary

Basically only a boolean, which helps making the code more readable.

Enumerator
fPrimarySurvives 
fKillsPrimary 

Definition at line 23 of file ISFTruthIncident.h.

23 {
24 fPrimarySurvives = false,
25 fKillsPrimary = true
26 };
@ fKillsPrimary
@ fPrimarySurvives

◆ PDGCodeEnum

This enum enhaces readablity for PDGCode profiling with the PMonUtils::CustomBenchmarkGuard.

Author
Elmar.Ritsch -at- cern.ch
Enumerator
fUndefinedPDGCode 
fMaxBenchmarkPDGCode 

Definition at line 28 of file ISFBenchmarkHelper.h.

28 {
29 // usually used for codes exceeding the maximum value:
31 // defining the maximum value of pdg codes used in profiling
33 };
@ fUndefinedPDGCode
@ fMaxBenchmarkPDGCode

◆ SimSvcIDs

Enumerator
fUndefinedSimID 
fEventGeneratorSimID 
fFirstAtlasSimID 
fMaxNumAtlasSimIDs 

Definition at line 30 of file SimSvcID.h.

30 {
31 // Not yet set, not decided
33 // Event Generator (not actually a simulator per se but may be used for routing decisions)
35 // to be used for space allocation (e.g. simulator arrays)
37
38 // to be used to allocate space (e.g. simulator arrays)
40 };
@ fEventGeneratorSimID
Definition SimSvcID.h:34
@ fMaxNumAtlasSimIDs
Definition SimSvcID.h:39
@ fUndefinedSimID
Definition SimSvcID.h:32
@ fFirstAtlasSimID
Definition SimSvcID.h:36
uint8_t SimSvcID
Simulation service ID datatype.
Definition SimSvcID.h:28

◆ SimulationDefinitions

enum to make the code more readable

Enumerator
UndefinedSim 
ParticleKiller 
Fatras 
Geant4 
FastCaloSim 
FastCaloSimV2 
Parametric 
FatrasPileup 
FastCaloSimPileup 
NFlavors 

Definition at line 19 of file SimulationFlavor.h.

19 {
20 UndefinedSim = 0,
22 Fatras = 2,
23 Geant4 = 3,
24 FastCaloSim = 4,
25 FastCaloSimV2 = 5,
26 Parametric = 6,
27 FatrasPileup = 7,
29 NFlavors = 9
30 };
@ FastCaloSimPileup
@ ParticleKiller
@ FastCaloSimV2

Function Documentation

◆ operator<<() [1/4]

MsgStream & ISF::operator<< ( MsgStream & sl,
const ISF::ISFParticle & isfp )
inline

Definition at line 210 of file ISFParticle.h.

210{ isfp.dump(sl); return sl; }
MsgStream & dump(MsgStream &out) const
Dump methods to be used by the overloaded stream operator (inheritance!)

◆ operator<<() [2/4]

MsgStream & ISF::operator<< ( MsgStream & sl,
const SimSvcID & id )
inline

Overload of << operator for correct output on MsgStream and std::ostream.

Definition at line 43 of file SimSvcID.h.

43{ sl << (int)(id); return sl; }

◆ operator<<() [3/4]

std::ostream & ISF::operator<< ( std::ostream & sl,
const ISF::ISFParticle & isfp )
inline

Definition at line 211 of file ISFParticle.h.

211{ isfp.dump(sl); return sl; }

◆ operator<<() [4/4]

std::ostream & ISF::operator<< ( std::ostream & sl,
const SimSvcID & id )
inline

Definition at line 44 of file SimSvcID.h.

44{ sl << (int)(id) ; return sl; }

Variable Documentation

◆ DefaultParticleOrder

const ParticleOrder ISF::DefaultParticleOrder = 1

Definition at line 17 of file ParticleOrder.h.