EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
ActsExamples Namespace Reference

Namespaces

namespace  BField
 
namespace  Contextual
 
namespace  DD4hep
 
namespace  detail
 
namespace  Generic
 
namespace  Geometry
 
namespace  Options
 
namespace  PlotHelpers
 
namespace  TGeo
 

Classes

exception  DigitizationAlgorithm
 Create planar clusters from simulation hits. More...
 
exception  HitSmearing
 
exception  FatrasAlgorithm
 
exception  FittingAlgorithm
 
class  TrkrClusterFittingAlgorithm
 
class  TrkrClusterOutlierFittingAlgorithm
 
exception  GdmlDetectorConstruction
 Construct the Geant4 detector from a Gdml file. More...
 
exception  GeantinoRecording
 
class  PrimaryGeneratorAction
 configures the run More...
 
class  EventAction
 Writes out material track records. More...
 
class  RunAction
 The material mapping run action. More...
 
class  SteppingAction
 Collects the RecordedMaterialSlab entities. More...
 
exception  DD4hepDetectorConstruction
 Construct the Geant4 detector from a DD4hep description. More...
 
exception  EventGenerator
 
struct  FixedMultiplicityGenerator
 
struct  PoissonMultiplicityGenerator
 
class  ParametricParticleGenerator
 
struct  FixedVertexGenerator
 
struct  GaussianVertexGenerator
 
class  Pythia8Generator
 
class  IMaterialWriter
 
class  MaterialWriterT
 
class  MaterialMapping
 Initiates and executes material mapping. More...
 
class  PrintHits
 Print hits within some geometric region-of-interest. More...
 
class  PrintParticles
 Print all particles. More...
 
class  PropagationAlgorithm
 this test algorithm performs test propagation within the Acts::Propagator More...
 
exception  TrackFindingAlgorithm
 
class  TrkrClusterFindingAlgorithm
 
exception  ParticleSelector
 Select particles by applying some selection cuts. More...
 
exception  ParticleSmearing
 
exception  TrackSelector
 Select tracks by applying some selection cuts. More...
 
exception  TruthSeedSelector
 
exception  TruthTrackFinder
 
exception  TruthVertexFinder
 Group particles into proto vertices using truth information. More...
 
exception  AdaptiveMultiVertexFinderAlgorithm
 
exception  IterativeVertexFinderAlgorithm
 
exception  TutorialVertexFinderAlgorithm
 
exception  VertexFitterAlgorithm
 
class  IBaseDetector
 
class  SimIdentifier
 
struct  SimMultiTrajectory
 Struct for truth track fitting/finding result with Acts::KalmanFitter/Acts::CombinatorialKalmanFilter. More...
 
class  SimSourceLink
 
struct  SimVertex
 A simultated vertex e.g. from a physics process. More...
 
struct  TrkrClusterMultiTrajectory
 Struct for truth track fitting/finding result with Acts::KalmanFitter/Acts::CombinatorialKalmanFilter. More...
 
class  TrkrClusterSourceLink
 
struct  AlgorithmContext
 Aggregated information to run one algorithm over one event. More...
 
class  BareAlgorithm
 
class  BareService
 
class  IAlgorithm
 
class  IContextDecorator
 Decorator for the AlgorithmContext with additional event specific information. More...
 
class  IReader
 
class  IService
 
class  IWriter
 
class  RandomNumbers
 < Mersenne Twister More...
 
class  Sequencer
 
class  WhiteBoard
 
class  WriterT
 
class  GroupBy
 
class  Range
 
class  DuplicationPlotTool
 
class  EffPlotTool
 
class  FakeRatePlotTool
 
struct  ParticleHitCount
 Associate a particle to its hit count within a proto track. More...
 
class  ResPlotTool
 
class  TrackSummaryPlotTool
 
exception  CsvParticleReader
 
exception  CsvParticleWriter
 
exception  CsvPlanarClusterReader
 
exception  CsvPlanarClusterWriter
 
class  CsvTrackingGeometryWriter
 
struct  ParticleData
 
struct  TruthHitData
 
struct  HitData
 
struct  CellData
 
struct  SurfaceData
 
struct  HepMC3Event
 Helper struct to convert HepMC3 event to the internal format. More...
 
struct  HepMC3Particle
 Helper struct to convert HepMC3 particles to internal format. More...
 
struct  HepMC3ReaderAscii
 HepMC3 event reader. More...
 
struct  HepMC3Vertex
 Helper struct to convert HepMC3 vertex into the internal format. More...
 
struct  HepMC3WriterAscii
 HepMC3 event writer. More...
 
class  JsonMaterialWriter
 
class  JsonSpacePointWriter
 
class  ObjPropagationStepsWriter
 
class  ObjSpacePointWriter
 
class  ObjTrackingGeometryWriter
 
exception  CKFPerformanceWriter
 
exception  TrackFinderPerformanceWriter
 
exception  TrackFitterPerformanceWriter
 
class  RootBFieldWriter
 
class  RootMaterialDecorator
 Read the collection of SurfaceMaterial & VolumeMaterial. More...
 
class  RootMaterialTrackReader
 Reads in MaterialTrack information from a root file and fills it into a format to be understood by the MaterialMapping algorithm. More...
 
class  RootMaterialTrackWriter
 Writes out MaterialTrack collections from a root file. More...
 
class  RootMaterialWriter
 Material decorator from Root format. More...
 
exception  RootParticleWriter
 
class  RootPlanarClusterWriter
 
class  RootPropagationStepsWriter
 
exception  RootSimHitWriter
 
exception  RootTrackParameterWriter
 Writes out SingleBoundTrackParamters into a TTree. More...
 
class  RootTrajectoryWriter
 
struct  HelloData
 An example data object to be shared via the event store. More...
 
class  HelloLoggerAlgorithm
 A simple algorithm that just prints hello world. More...
 
class  HelloRandomAlgorithm
 An example algorithm that uses the random number generator to generate data. More...
 
class  HelloService
 A simple service that adds an event block index. More...
 
class  HelloWhiteBoardAlgorithm
 Example algorithm that reads/writes data from/to the event store. More...
 

Typedefs

using RecordedMaterial = Acts::MaterialInteractor::result_type
 Using some short hands for Recorded Material.
 
using RecordedMaterialTrack = std::pair< std::pair< Acts::Vector3D, Acts::Vector3D >, RecordedMaterial >
 A material track with start position and momentum and recorded material.
 
using PropagationOutput = std::pair< std::vector< Acts::detail::Step >, RecordedMaterial >
 Finally the output of the propagation test.
 
template<typename T >
using GeometryIdMultiset = boost::container::flat_multiset< T, detail::CompareGeometryId >
 
template<typename T >
using GeometryIdMultimap = GeometryIdMultiset< std::pair< Acts::GeometryIdentifier, T >>
 
template<typename Value , typename Key = std::size_t>
using IndexMultimap = boost::container::flat_multimap< Key, Value >
 
using ProtoTrack = std::vector< size_t >
 A proto track is a collection of hits identified by their indices.
 
using ProtoTrackContainer = std::vector< ProtoTrack >
 Container of proto tracks. Each proto track is identified by its index.
 
using ProtoVertex = std::vector< uint32_t >
 A proto vertex is a collection of tracks identified by their indices.
 
using ProtoVertexContainer = std::vector< ProtoVertex >
 Container of proto vertices. Each proto vertex is identified by its index.
 
using SimHit = ::ActsFatras::Hit
 
using SimHitContainer = GeometryIdMultiset<::ActsFatras::Hit >
 Store hits ordered by geometry identifier.
 
using IndexedParams = std::unordered_map< size_t, Acts::BoundTrackParameters >
 
using SimParticle = ::ActsFatras::Particle
 
using SimParticleContainer = ::boost::container::flat_set<::ActsFatras::Particle, detail::CompareParticleId >
 Store particles ordered by particle identifier.
 
using SimSourceLinkContainer = GeometryIdMultiset< SimSourceLink >
 Store source links ordered by geometry identifier.
 
using TrackParameters = Acts::CurvilinearTrackParameters
 (Reconstructed) track parameters e.g. close to the vertex.
 
using TrackParametersContainer = std::vector< TrackParameters >
 Container of reconstructed track states for multiple tracks.
 
using Trajectory = Acts::MultiTrajectory< SimSourceLink >
 Single track trajectory with multiple states.
 
using TrajectoryContainer = std::vector< SimMultiTrajectory >
 Container of reconstructed trajectories.
 
using SourceLink = ActsExamples::TrkrClusterSourceLink
 
using TrkrClusterSourceLinkContainer = GeometryIdMultiset< TrkrClusterSourceLink >
 Ensure that the SourceLink class satisfies SourceLinkConcept conditions.
 
using RandomEngine = std::mt19937
 The random number generator used in the framework.
 
using PropagationSteps = std::vector< Acts::detail::Step >
 
using BoundTrackParameters = Acts::BoundTrackParameters
 
using TrackParameterWriter = WriterT< std::vector< BoundTrackParameters >>
 
using HelloDataCollection = std::vector< HelloData >
 

Enumerations

enum  ProcessCode
 

Functions

std::vector< const
Acts::BoundTrackParameters * > 
makeTrackParametersPointerContainer (const TrackParametersContainer &trackParameters)
 
ProtoVertexContainer makeProtoVertices (const TrackParametersContainer &trackParameters, const std::vector< Acts::Vertex< Acts::BoundTrackParameters >> &vertices)
 
template<typename T >
Range< typename
GeometryIdMultiset< T >
::const_iterator > 
selectVolume (const GeometryIdMultiset< T > &container, Acts::GeometryIdentifier::Value volume)
 Select all elements within the given volume.
 
template<typename T >
auto selectVolume (const GeometryIdMultiset< T > &container, Acts::GeometryIdentifier id)
 
template<typename T >
Range< typename
GeometryIdMultiset< T >
::const_iterator > 
selectLayer (const GeometryIdMultiset< T > &container, Acts::GeometryIdentifier::Value volume, Acts::GeometryIdentifier::Value layer)
 Select all elements within the given layer.
 
template<typename T >
auto selectLayer (const GeometryIdMultiset< T > &container, Acts::GeometryIdentifier id)
 
template<typename T >
Range< typename
GeometryIdMultiset< T >
::const_iterator > 
selectModule (const GeometryIdMultiset< T > &container, Acts::GeometryIdentifier geoId)
 Select all elements for the given module / sensitive surface.
 
template<typename T >
auto selectModule (const GeometryIdMultiset< T > &container, Acts::GeometryIdentifier::Value volume, Acts::GeometryIdentifier::Value layer, Acts::GeometryIdentifier::Value module)
 
template<typename T >
GroupBy< typename
GeometryIdMultiset< T >
::const_iterator,
detail::GeometryIdGetter
groupByModule (const GeometryIdMultiset< T > &container)
 Iterate over groups of elements belonging to each module/ sensitive surface.
 
template<typename Value , typename Key >
IndexMultimap< Key, Value > invertIndexMultimap (const IndexMultimap< Value, Key > &multimap)
 
GroupBy
< SimParticleContainer::const_iterator,
detail::PrimaryVertexIdGetter
groupByPrimaryVertex (const SimParticleContainer &container)
 Iterate over groups of particles belonging to the same primary vertex.
 
GroupBy
< SimParticleContainer::const_iterator,
detail::SecondaryVertexIdGetter
groupBySecondaryVertex (const SimParticleContainer &container)
 
template<typename Container , typename KeyGetter >
GroupBy< typename
Container::const_iterator,
KeyGetter > 
makeGroupBy (const Container &container, KeyGetter keyGetter)
 Construct the group-by proxy for a container.
 
std::string ensureWritableDirectory (const std::string &dir)
 
std::string joinPaths (const std::string &dir, const std::string &name)
 Join dir and name into one path with correct handling of empty dirs.
 
std::string perEventFilepath (const std::string &dir, const std::string &name, size_t event)
 
std::pair< size_t, size_t > determineEventFilesRange (const std::string &dir, const std::string &name)
 
template<typename Iterator >
Range< Iterator > makeRange (Iterator begin, Iterator end)
 
template<typename Iterator >
Range< Iterator > makeRange (std::pair< Iterator, Iterator > range)
 
void identifyContributingParticles (const IndexMultimap< ActsFatras::Barcode > &hitParticlesMap, const ProtoTrack &protoTrack, std::vector< ParticleHitCount > &particleHitCount)
 Identify all particles that contribute to the proto track and count hits.
 
void setupDigitization (Options::Variables &variables, Sequencer &sequencer, std::shared_ptr< const RandomNumbers > randomNumbers, std::shared_ptr< const Acts::TrackingGeometry > trackingGeometry)
 
void setupEvgenInput (const Options::Variables &variables, Sequencer &sequencer, std::shared_ptr< const RandomNumbers > randomNumbers)
 
int fatrasMain (int argc, char *argv[], std::shared_ptr< IBaseDetector > detector)
 
void setupSimulation (const Options::Variables &variables, Sequencer &sequencer, std::shared_ptr< const RandomNumbers > randomNumbers, std::shared_ptr< const Acts::TrackingGeometry > trackingGeometry)
 
std::ostream & operator<< (std::ostream &os, const HelloData &data)
 

Detailed Description

In case several sensitive modules have the same segmentation it can and should be shared between these modules to save memory and time. In Acts the Acts::DigitizationModule is used to describe the geometric digitization on a detector module. This Acts::DigitizationModule should be shared amongst the modules with the same segmentation. In order to create it there are currently two helper functions implemented (ActsExamples::DD4hep::rectangleDigiModule(),ActsExamples::DD4hep::trapezoidalDigiModule) which return the digitization module from DD4hep input. Afterwards an ActsExtension from the same Acts::DigitizationModule can be created and attached for all modules sharing the same segmentation.

Below you can find an example (in pseudo code) how to share the same Acts::DigitizationModule amongst modules (DetElements) which have the same segmentation in your DD4hep detector constructor:

Create the Acts::DigitizationModule which should be shared amongst the different modules using the global function with the dimensions of the module and its DD4hep Segmentation. Where sensDet is the corresponding DD4hep SensitiveDetector.

auto digiModule = Acts::rectangularDigiModule(halflengthX,
halflnegthY,
sensDet.readout().segmentation());

Now loop over all modules which have the same segmentation, create the Acts::ActsExtension from the digitization module and attach the extension to the DD4hep::DetElement of the module (named 'moduleDetelement' here),

for ('loop over modules') {
...
Acts::ActsExtension* moduleExtension
= new Acts::ActsExtension(digiModule);
moduleDetElement.addExtension<Acts::ActsExtension>(moduleExtension);
}
Parameters
digiModulethe Acts::DigitizationModule
Note
in order to create the shared Acts::DigitizationModule from DD4hep segmentation please use the global functions rectangleDigiModule() and trapezoidalDigiModule().

If one wants to build the Acts Tracking Geometry with DD4hep input these extension should be used during the construction of the DD4hep geometry i.e. in the DD4hep detector constructors. First the ActsExtension configuration object should be created and then attached to the DD4hep DetElement.

Example for a layer DetElement (layer_detElement) where also parameters for material mapping are handed over:

layConfig.isLayer = true;
layConfig.axes = "XZy";
layConfig.materialBins1 = 50;
layConfig.materialBins2 = 100;
layConfig.layerMaterialPosition = Acts::LayerMaterialPos::inner
Acts::ActsExtension* layerExtension = new
layer_detElement.addExtension<Acts::ActsExtension>(layerExtension);

In case several sensitive detector modules have the same segmentation an extension using the second constructor (with the segmentation as parameter) (or the function setSegmentation()) should be created once and then be attached to all the DetElements which have that same segmentation. In this way only one Acts::DigitizationModule is created and shared between all detector elements with the same segmentation which saves memory and time. If this extension is not set and the DetElement is sensitive and has a readout, a unique Acts::DigitizationModule will be created for this DetElement.

Typedef Documentation

Definition at line 21 of file RootTrackParameterWriter.hpp.

View newest version in sPHENIX GitHub at line 21 of file RootTrackParameterWriter.hpp

template<typename T >
using ActsExamples::GeometryIdMultimap = typedef GeometryIdMultiset<std::pair<Acts::GeometryIdentifier, T>>

Store elements indexed by an geometry id.

Template Parameters
Ttype to be stored

The behaviour is the same as for the GeometryIdMultiset except that the stored elements do not know their geometry id themself. When iterating the iterator elements behave as for the std::map, i.e.

for (const auto& entry: elements) {
    auto id = entry.first; // geometry id
    const auto& el = entry.second; // stored element

Definition at line 90 of file GeometryContainers.hpp.

View newest version in sPHENIX GitHub at line 90 of file GeometryContainers.hpp

template<typename T >
using ActsExamples::GeometryIdMultiset = typedef boost::container::flat_multiset<T, detail::CompareGeometryId>

Store elements that know their detector geometry id, e.g. simulation hits.

Template Parameters
Ttype to be stored, must be compatible with CompareGeometryId

The container stores an arbitrary number of elements for any geometry id. Elements can be retrieved via the geometry id; elements can be selected for a specific geometry id or for a larger range, e.g. a volume or a layer within the geometry hierachy using the helper functions below. Elements can also be accessed by index that uniquely identifies each element regardless of geometry id.

Definition at line 73 of file GeometryContainers.hpp.

View newest version in sPHENIX GitHub at line 73 of file GeometryContainers.hpp

Definition at line 29 of file HelloData.hpp.

View newest version in sPHENIX GitHub at line 29 of file HelloData.hpp

typedef std::unordered_map< size_t, Acts::BoundTrackParameters > ActsExamples::IndexedParams

Definition at line 20 of file SimMultiTrajectory.hpp.

View newest version in sPHENIX GitHub at line 20 of file SimMultiTrajectory.hpp

template<typename Value , typename Key = std::size_t>
using ActsExamples::IndexMultimap = typedef boost::container::flat_multimap<Key, Value>

Store elements that are identified by an index, e.g. in another container.

Each index can have zero or more associated elements. A typical case could be to store all generating particles for a hit where the hit is identified by its index in the hit container.

Definition at line 24 of file IndexContainers.hpp.

View newest version in sPHENIX GitHub at line 24 of file IndexContainers.hpp

Finally the output of the propagation test.

Definition at line 50 of file PropagationAlgorithm.hpp.

View newest version in sPHENIX GitHub at line 50 of file PropagationAlgorithm.hpp

Definition at line 21 of file RootPropagationStepsWriter.hpp.

View newest version in sPHENIX GitHub at line 21 of file RootPropagationStepsWriter.hpp

using ActsExamples::ProtoTrack = typedef std::vector<size_t>

A proto track is a collection of hits identified by their indices.

Definition at line 17 of file ProtoTrack.hpp.

View newest version in sPHENIX GitHub at line 17 of file ProtoTrack.hpp

Container of proto tracks. Each proto track is identified by its index.

Definition at line 19 of file ProtoTrack.hpp.

View newest version in sPHENIX GitHub at line 19 of file ProtoTrack.hpp

A proto vertex is a collection of tracks identified by their indices.

Definition at line 17 of file ProtoVertex.hpp.

View newest version in sPHENIX GitHub at line 17 of file ProtoVertex.hpp

Container of proto vertices. Each proto vertex is identified by its index.

Definition at line 19 of file ProtoVertex.hpp.

View newest version in sPHENIX GitHub at line 19 of file ProtoVertex.hpp

using ActsExamples::RandomEngine = typedef std::mt19937

The random number generator used in the framework.

Definition at line 27 of file RandomNumbers.hpp.

View newest version in sPHENIX GitHub at line 27 of file RandomNumbers.hpp

Using some short hands for Recorded Material.

Definition at line 28 of file GeantinoRecording.hpp.

View newest version in sPHENIX GitHub at line 28 of file GeantinoRecording.hpp

A material track with start position and momentum and recorded material.

And recorded material track

  • this is start: position, start momentum and the Recorded material

Definition at line 31 of file GeantinoRecording.hpp.

View newest version in sPHENIX GitHub at line 31 of file GeantinoRecording.hpp

Definition at line 16 of file SimHit.hpp.

View newest version in sPHENIX GitHub at line 16 of file SimHit.hpp

Store hits ordered by geometry identifier.

Definition at line 18 of file SimHit.hpp.

View newest version in sPHENIX GitHub at line 18 of file SimHit.hpp

Definition at line 50 of file SimParticle.hpp.

View newest version in sPHENIX GitHub at line 50 of file SimParticle.hpp

using ActsExamples::SimParticleContainer = typedef ::boost::container::flat_set<::ActsFatras::Particle, detail::CompareParticleId>

Store particles ordered by particle identifier.

Definition at line 54 of file SimParticle.hpp.

View newest version in sPHENIX GitHub at line 54 of file SimParticle.hpp

Store source links ordered by geometry identifier.

Definition at line 83 of file SimSourceLink.hpp.

View newest version in sPHENIX GitHub at line 83 of file SimSourceLink.hpp

Definition at line 21 of file TrkrClusterMultiTrajectory.hpp.

View newest version in sPHENIX GitHub at line 21 of file TrkrClusterMultiTrajectory.hpp

(Reconstructed) track parameters e.g. close to the vertex.

Definition at line 24 of file Track.hpp.

View newest version in sPHENIX GitHub at line 24 of file Track.hpp

Container of reconstructed track states for multiple tracks.

Definition at line 26 of file Track.hpp.

View newest version in sPHENIX GitHub at line 26 of file Track.hpp

Definition at line 22 of file RootTrackParameterWriter.hpp.

View newest version in sPHENIX GitHub at line 22 of file RootTrackParameterWriter.hpp

Single track trajectory with multiple states.

Definition at line 29 of file Track.hpp.

View newest version in sPHENIX GitHub at line 29 of file Track.hpp

Container of reconstructed trajectories.

Definition at line 31 of file Track.hpp.

View newest version in sPHENIX GitHub at line 31 of file Track.hpp

Ensure that the SourceLink class satisfies SourceLinkConcept conditions.

Definition at line 116 of file TrkrClusterSourceLink.hpp.

View newest version in sPHENIX GitHub at line 116 of file TrkrClusterSourceLink.hpp

Enumeration Type Documentation

Definition at line 12 of file ProcessCode.hpp.

View newest version in sPHENIX GitHub at line 12 of file ProcessCode.hpp

Function Documentation

std::pair< size_t, size_t > ActsExamples::determineEventFilesRange ( const std::string &  dir,
const std::string &  name 
)

Determine the range of available events in a directory of per-event files.

dir input directory, current directory if empty name base filename

Returns
first and last+1 event number
{0, 0} when no matching files could be found

Event files must be named [<dir>/]event<XXXXXXXXX>-<name> to be considered

Definition at line 57 of file Paths.cpp.

View newest version in sPHENIX GitHub at line 57 of file Paths.cpp

References ACTS_LOCAL_LOGGER, ACTS_VERBOSE, Acts::Concepts::exists, INPUTHEPMC::filename, Acts::getDefaultLogger(), max, min, Acts::UnitConstants::u, and Acts::Logging::VERBOSE.

+ Here is the call graph for this function:

std::string ActsExamples::ensureWritableDirectory ( const std::string &  dir)

Ensure that the given directory exists and is writable.

Returns
Canonical path to the directory.

Will create missing directories and throw on any error.

Definition at line 21 of file Paths.cpp.

View newest version in sPHENIX GitHub at line 21 of file Paths.cpp

References Acts::Concepts::exists.

Referenced by main(), and runGeantinoRecording().

+ Here is the caller graph for this function:

int ActsExamples::fatrasMain ( int  argc,
char *  argv[],
std::shared_ptr< IBaseDetector >  detector 
)

Main function for running Fatras with a specific detector.

Parameters
argcnumber of command line arguments
argvcommand line arguments
detectordetector instance

Referenced by main().

+ Here is the caller graph for this function:

template<typename T >
GroupBy<typename GeometryIdMultiset<T>::const_iterator, detail::GeometryIdGetter> ActsExamples::groupByModule ( const GeometryIdMultiset< T > &  container)
inline

Iterate over groups of elements belonging to each module/ sensitive surface.

Definition at line 161 of file GeometryContainers.hpp.

View newest version in sPHENIX GitHub at line 161 of file GeometryContainers.hpp

References makeGroupBy().

Referenced by ActsExamples::HitSmearing::execute(), and ActsExamples::DigitizationAlgorithm::execute().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GroupBy<SimParticleContainer::const_iterator, detail::PrimaryVertexIdGetter> ActsExamples::groupByPrimaryVertex ( const SimParticleContainer &  container)
inline

Iterate over groups of particles belonging to the same primary vertex.

Definition at line 59 of file SimParticle.hpp.

View newest version in sPHENIX GitHub at line 59 of file SimParticle.hpp

References makeGroupBy().

Referenced by ActsExamples::TruthVertexFinder::execute().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GroupBy<SimParticleContainer::const_iterator, detail::SecondaryVertexIdGetter> ActsExamples::groupBySecondaryVertex ( const SimParticleContainer &  container)
inline

Iterate over groups of particles belonging to the same secondary vertex.

For each primary vertex, this yields one group of particles belonging directly to the primary vertex (secondary vertex id 0) and a group for each secondary vertex.

Definition at line 70 of file SimParticle.hpp.

View newest version in sPHENIX GitHub at line 70 of file SimParticle.hpp

References makeGroupBy().

Referenced by ActsExamples::TruthVertexFinder::execute().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ActsExamples::identifyContributingParticles ( const IndexMultimap< ActsFatras::Barcode > &  hitParticlesMap,
const ProtoTrack &  protoTrack,
std::vector< ParticleHitCount > &  particleHitCount 
)

Identify all particles that contribute to the proto track and count hits.

Definition at line 15 of file ProtoTrackClassification.cpp.

View newest version in sPHENIX GitHub at line 15 of file ProtoTrackClassification.cpp

References ActsExamples::ParticleHitCount::hitCount, it, makeRange(), and Acts::UnitConstants::u.

Referenced by ActsExamples::TrackFinderPerformanceWriter::Impl::write().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

template<typename Value , typename Key >
IndexMultimap<Key, Value> ActsExamples::invertIndexMultimap ( const IndexMultimap< Value, Key > &  multimap)
inline

Invert the multimap, i.e. from a -> {b...} to b -> {a...}.

Note
This assumes that the value in the initial multimap is itself a sortable index-like object, as would be the case when mapping e.g. hit ids to particle ids/ barcodes.

Definition at line 32 of file IndexContainers.hpp.

View newest version in sPHENIX GitHub at line 32 of file IndexContainers.hpp

Referenced by ActsExamples::TruthTrackFinder::execute(), ActsExamples::TruthSeedSelector::execute(), and ActsExamples::TrackFinderPerformanceWriter::Impl::write().

+ Here is the caller graph for this function:

std::string ActsExamples::joinPaths ( const std::string &  dir,
const std::string &  name 
)

Join dir and name into one path with correct handling of empty dirs.

Definition at line 34 of file Paths.cpp.

View newest version in sPHENIX GitHub at line 34 of file Paths.cpp

References name.

Referenced by ActsExamples::CKFPerformanceWriter::CKFPerformanceWriter(), ActsExamples::CsvTrackingGeometryWriter::endRun(), ActsExamples::RootTrajectoryWriter::endRun(), ActsExamples::TrackFinderPerformanceWriter::Impl::Impl(), main(), materialValidationExample(), propagationExample(), ActsExamples::RootTrajectoryWriter::RootTrajectoryWriter(), runGeantinoRecording(), and ActsExamples::TrackFitterPerformanceWriter::TrackFitterPerformanceWriter().

+ Here is the caller graph for this function:

template<typename Container , typename KeyGetter >
GroupBy<typename Container::const_iterator, KeyGetter> ActsExamples::makeGroupBy ( const Container &  container,
KeyGetter  keyGetter 
)

Construct the group-by proxy for a container.

Definition at line 136 of file GroupBy.hpp.

View newest version in sPHENIX GitHub at line 136 of file GroupBy.hpp

Referenced by groupByModule(), groupByPrimaryVertex(), and groupBySecondaryVertex().

+ Here is the caller graph for this function:

ProtoVertexContainer ActsExamples::makeProtoVertices ( const TrackParametersContainer &  trackParameters,
const std::vector< Acts::Vertex< Acts::BoundTrackParameters >> &  vertices 
)
inline

Create proto vertices from reconstructed vertices.

Parameters
trackParametersinput track parameters container
verticesreconstructed vertices
Returns
proto vertices corresponding to the reconstructed vertices

Assumes that the original parameters pointers in the vertices point to elements in the given input track parameters container. If that is not the case the behaviour is undefined.

Definition at line 44 of file VertexingHelpers.hpp.

View newest version in sPHENIX GitHub at line 44 of file VertexingHelpers.hpp

Referenced by ActsExamples::IterativeVertexFinderAlgorithm::execute(), and ActsExamples::AdaptiveMultiVertexFinderAlgorithm::execute().

+ Here is the caller graph for this function:

template<typename Iterator >
Range<Iterator> ActsExamples::makeRange ( Iterator  begin,
Iterator  end 
)

Definition at line 47 of file Range.hpp.

View newest version in sPHENIX GitHub at line 47 of file Range.hpp

Referenced by ActsExamples::TruthTrackFinder::execute(), ActsExamples::PrintHits::execute(), ActsExamples::TruthSeedSelector::execute(), identifyContributingParticles(), ActsExamples::GroupBy< Iterator, KeyGetter >::GroupIterator::operator*(), ActsExamples::CsvPlanarClusterReader::read(), selectLayer(), selectModule(), selectVolume(), and ActsExamples::TrackFinderPerformanceWriter::Impl::write().

+ Here is the caller graph for this function:

template<typename Iterator >
Range<Iterator> ActsExamples::makeRange ( std::pair< Iterator, Iterator >  range)

Definition at line 52 of file Range.hpp.

View newest version in sPHENIX GitHub at line 52 of file Range.hpp

std::vector<const Acts::BoundTrackParameters*> ActsExamples::makeTrackParametersPointerContainer ( const TrackParametersContainer &  trackParameters)
inline

Create a pointers container for all track parameters in the input container.

Parameters
trackParametersinput examples track parameters container
Returns
track parameters pointer container referencing the input tracks

Definition at line 24 of file VertexingHelpers.hpp.

View newest version in sPHENIX GitHub at line 24 of file VertexingHelpers.hpp

Referenced by ActsExamples::IterativeVertexFinderAlgorithm::execute(), ActsExamples::TutorialVertexFinderAlgorithm::execute(), and ActsExamples::AdaptiveMultiVertexFinderAlgorithm::execute().

+ Here is the caller graph for this function:

std::ostream& ActsExamples::operator<< ( std::ostream &  os,
const HelloData &  data 
)
inline

Definition at line 24 of file HelloData.hpp.

View newest version in sPHENIX GitHub at line 24 of file HelloData.hpp

References ActsExamples::HelloData::a, ActsExamples::HelloData::b, ActsExamples::HelloData::t, and ActsExamples::HelloData::x.

std::string ActsExamples::perEventFilepath ( const std::string &  dir,
const std::string &  name,
size_t  event 
)

Construct a file path of the form [<dir>/]event<XXXXXXXXX>-<name>.

dir output directory, current directory if empty name basic filename event event number

Definition at line 43 of file Paths.cpp.

View newest version in sPHENIX GitHub at line 43 of file Paths.cpp

References name.

Referenced by ActsExamples::CsvParticleReader::read(), ActsExamples::CsvTrackingGeometryWriter::write(), ActsExamples::ObjSpacePointWriter< T >::writeT(), ActsExamples::JsonSpacePointWriter< T >::writeT(), ActsExamples::CsvParticleWriter::writeT(), ActsExamples::CsvPlanarClusterWriter::writeT(), and ActsExamples::ObjPropagationStepsWriter< step_t >::writeT().

+ Here is the caller graph for this function:

template<typename T >
Range<typename GeometryIdMultiset<T>::const_iterator> ActsExamples::selectLayer ( const GeometryIdMultiset< T > &  container,
Acts::GeometryIdentifier::Value  volume,
Acts::GeometryIdentifier::Value  layer 
)
inline

Select all elements within the given layer.

Definition at line 117 of file GeometryContainers.hpp.

View newest version in sPHENIX GitHub at line 117 of file GeometryContainers.hpp

References makeRange(), Acts::GeometryIdentifier::setLayer(), Acts::GeometryIdentifier::setVolume(), and Acts::UnitConstants::u.

Referenced by ActsExamples::PrintHits::execute(), and selectLayer().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

template<typename T >
auto ActsExamples::selectLayer ( const GeometryIdMultiset< T > &  container,
Acts::GeometryIdentifier  id 
)
inline

Definition at line 134 of file GeometryContainers.hpp.

View newest version in sPHENIX GitHub at line 134 of file GeometryContainers.hpp

References G4TTL::layer, selectLayer(), and Acts::Test::volume.

+ Here is the call graph for this function:

template<typename T >
Range<typename GeometryIdMultiset<T>::const_iterator> ActsExamples::selectModule ( const GeometryIdMultiset< T > &  container,
Acts::GeometryIdentifier  geoId 
)
inline

Select all elements for the given module / sensitive surface.

Definition at line 141 of file GeometryContainers.hpp.

View newest version in sPHENIX GitHub at line 141 of file GeometryContainers.hpp

References makeRange().

Referenced by ActsExamples::PrintHits::execute(), and selectModule().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

template<typename T >
auto ActsExamples::selectModule ( const GeometryIdMultiset< T > &  container,
Acts::GeometryIdentifier::Value  volume,
Acts::GeometryIdentifier::Value  layer,
Acts::GeometryIdentifier::Value  module 
)
inline

Definition at line 147 of file GeometryContainers.hpp.

View newest version in sPHENIX GitHub at line 147 of file GeometryContainers.hpp

References selectModule().

+ Here is the call graph for this function:

template<typename T >
Range<typename GeometryIdMultiset<T>::const_iterator> ActsExamples::selectVolume ( const GeometryIdMultiset< T > &  container,
Acts::GeometryIdentifier::Value  volume 
)
inline

Select all elements within the given volume.

Definition at line 94 of file GeometryContainers.hpp.

View newest version in sPHENIX GitHub at line 94 of file GeometryContainers.hpp

References makeRange(), Acts::GeometryIdentifier::setVolume(), and Acts::UnitConstants::u.

Referenced by ActsExamples::PrintHits::execute(), and selectVolume().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

template<typename T >
auto ActsExamples::selectVolume ( const GeometryIdMultiset< T > &  container,
Acts::GeometryIdentifier  id 
)
inline

Definition at line 110 of file GeometryContainers.hpp.

View newest version in sPHENIX GitHub at line 110 of file GeometryContainers.hpp

References selectVolume(), and Acts::Test::volume.

+ Here is the call graph for this function:

void ActsExamples::setupDigitization ( Options::Variables &  variables,
Sequencer &  sequencer,
std::shared_ptr< const RandomNumbers >  randomNumbers,
std::shared_ptr< const Acts::TrackingGeometry trackingGeometry 
)
void ActsExamples::setupEvgenInput ( const Options::Variables &  variables,
Sequencer &  sequencer,
std::shared_ptr< const RandomNumbers >  randomNumbers 
)
void ActsExamples::setupSimulation ( const Options::Variables &  variables,
ActsExamples::Sequencer sequencer,
std::shared_ptr< const RandomNumbers >  randomNumbers,
std::shared_ptr< const Acts::TrackingGeometry trackingGeometry 
)

Setup the simulation algorithm and related algorithms.

Parameters
variablesuser configuration variables map
sequencerthe framework sequencer
randomNumbersthe random numbers tools
trackingGeometrythe tracking geometry

Definition at line 203 of file FatrasSimulationBase.cpp.

View newest version in sPHENIX GitHub at line 203 of file FatrasSimulationBase.cpp

References ActsTests::PropagationDatasets::magneticField, and ActsExamples::Options::readBField().

+ Here is the call graph for this function: