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

Namespaces

namespace  BField
 
namespace  Contextual
 
namespace  DD4hep
 
namespace  DD4hepG4
 
namespace  detail
 
namespace  Geant4
 
namespace  Generic
 
namespace  Geometry
 
namespace  Json
 
namespace  Obj
 
namespace  Options
 
namespace  PlotHelpers
 
namespace  TGeo
 

Classes

exception  DigitizationAlgorithm
 Create planar clusters from simulation hits. More...
 
exception  HitSmearing
 
exception  FatrasAlgorithm
 
exception  FittingAlgorithm
 
exception  EventGenerator
 
exception  FlattenEvent
 
struct  FixedMultiplicityGenerator
 
struct  PoissonMultiplicityGenerator
 
class  ParametricProcessGenerator
 
class  ParticleSelector
 Select particles by applying some selection cuts. More...
 
struct  FixedVertexGenerator
 
struct  GaussianVertexGenerator
 
class  Pythia8Generator
 
class  GeantinoRecording
 records the simulation geometry by using geantinos More...
 
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  ParticleSmearing
 
exception  TrackSelector
 Select tracks by applying some selection cuts. More...
 
exception  TruthTrackFinder
 
class  TruthVerticesToTracksAlgorithm
 Converter that takes a generator event (i.e. a std::vector<SimVertex>) and produces a std::vector<Acts::BoundParameter>. It also allows the possibility of parameter smearing. More...
 
struct  VertexAndTracks
 Helper struct that stores a SimVertex object together with std::vector<Acts::BoundParameters> More...
 
class  IBaseDetector
 
class  SimIdentifier
 
class  SimSourceLink
 
struct  SimVertex
 A simultated vertex e.g. from a physics process. More...
 
struct  TruthFitTrack
 struct for truth fitting result More...
 
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  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...
 
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
 
class  RootVertexAndTracksReader
 Reads in vertex and tracks information from a root file and fills it into a format to be understood by the vertexing algorithms. More...
 
exception  RootVertexAndTracksWriter
 
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 >
 
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::GeometryID, 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 SimHit = ::ActsFatras::Hit
 
using SimHitContainer = GeometryIdMultiset<::ActsFatras::Hit >
 Store hits ordered by geometry identifier.
 
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::CurvilinearParameters
 (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 >
 MultiTrajectory definition.
 
using TrajectoryContainer = std::vector< TruthFitTrack >
 Container for the truth fitting track.
 
using RandomEngine = std::mt19937
 The random number generator used in the framework.
 
using PropagationSteps = std::vector< Acts::detail::Step >
 
using BoundTrackParameters = Acts::BoundParameters
 
using TrackParameterWriter = WriterT< std::vector< BoundTrackParameters >>
 
using HelloDataCollection = std::vector< HelloData >
 

Enumerations

enum  ProcessCode
 

Functions

template<typename T >
Range< typename
GeometryIdMultiset< T >
::const_iterator > 
selectVolume (const GeometryIdMultiset< T > &container, Acts::GeometryID::Value volume)
 Select all elements within the given volume.
 
template<typename T >
auto selectVolume (const GeometryIdMultiset< T > &container, Acts::GeometryID id)
 
template<typename T >
Range< typename
GeometryIdMultiset< T >
::const_iterator > 
selectLayer (const GeometryIdMultiset< T > &container, Acts::GeometryID::Value volume, Acts::GeometryID::Value layer)
 Select all elements within the given layer.
 
template<typename T >
auto selectLayer (const GeometryIdMultiset< T > &container, Acts::GeometryID id)
 
template<typename T >
Range< typename
GeometryIdMultiset< T >
::const_iterator > 
selectModule (const GeometryIdMultiset< T > &container, Acts::GeometryID geoId)
 Select all elements for the given module / sensitive surface.
 
template<typename T >
auto selectModule (const GeometryIdMultiset< T > &container, Acts::GeometryID::Value volume, Acts::GeometryID::Value layer, Acts::GeometryID::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)
 
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 (FW::DD4hep::rectangleDigiModule(),FW::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 FW::GeometryIdMultimap = typedef GeometryIdMultiset<std::pair<Acts::GeometryID, 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 86 of file GeometryContainers.hpp.

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

template<typename T >
using FW::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 70 of file GeometryContainers.hpp.

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

using FW::HelloDataCollection = typedef std::vector<HelloData>

Definition at line 29 of file HelloData.hpp.

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

template<typename Value , typename Key = std::size_t>
using FW::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 23 of file IndexContainers.hpp.

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

using FW::PropagationOutput = typedef std::pair<std::vector<Acts::detail::Step>, RecordedMaterial>

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

using FW::PropagationSteps = typedef std::vector<Acts::detail::Step>

Definition at line 21 of file RootPropagationStepsWriter.hpp.

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

using FW::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

using FW::ProtoTrackContainer = typedef std::vector<ProtoTrack>

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

using FW::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 40 of file PropagationAlgorithm.hpp.

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

And recorded material track

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

Definition at line 46 of file PropagationAlgorithm.hpp.

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

using FW::SimHit = typedef ::ActsFatras::Hit

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 34 of file SimParticle.hpp.

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

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

Store particles ordered by particle identifier.

Definition at line 38 of file SimParticle.hpp.

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

Store source links ordered by geometry identifier.

Definition at line 82 of file SimSourceLink.hpp.

View newest version in sPHENIX GitHub at line 82 of file SimSourceLink.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

using FW::TrackParametersContainer = typedef std::vector<TrackParameters>

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

using FW::TrackParameterWriter = typedef WriterT<std::vector<BoundTrackParameters>>

Definition at line 22 of file RootTrackParameterWriter.hpp.

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

MultiTrajectory definition.

Definition at line 29 of file Track.hpp.

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

using FW::TrajectoryContainer = typedef std::vector<TruthFitTrack>

Container for the truth fitting track.

Definition at line 32 of file Track.hpp.

View newest version in sPHENIX GitHub at line 32 of file Track.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 > FW::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 52 of file Paths.cpp.

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

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

+ Here is the call graph for this function:

std::string FW::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 19 of file Paths.cpp.

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

References Acts::concept::exists.

Referenced by main().

+ Here is the caller graph for this function:

int FW::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> FW::groupByModule ( const GeometryIdMultiset< T > &  container)
inline

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

Definition at line 155 of file GeometryContainers.hpp.

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

References makeGroupBy().

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

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void FW::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 FW::ParticleHitCount::hitCount, it, makeRange(), and Acts::UnitConstants::u.

Referenced by FW::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> FW::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 31 of file IndexContainers.hpp.

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

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

+ Here is the caller graph for this function:

std::string FW::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 31 of file Paths.cpp.

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

Referenced by FW::CsvTrackingGeometryWriter::endRun(), FW::RootTrajectoryWriter::endRun(), FW::TrackFinderPerformanceWriter::Impl::Impl(), main(), materialValidationExample(), processGeometry(), propagationExample(), FW::RootTrajectoryWriter::RootTrajectoryWriter(), and FW::TrackFitterPerformanceWriter::TrackFitterPerformanceWriter().

+ Here is the caller graph for this function:

template<typename Container , typename KeyGetter >
GroupBy<typename Container::const_iterator, KeyGetter> FW::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().

+ Here is the caller graph for this function:

template<typename Iterator >
Range<Iterator> FW::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 FW::TruthTrackFinder::execute(), FW::PrintHits::execute(), identifyContributingParticles(), FW::GroupBy< Iterator, KeyGetter >::GroupIterator::operator*(), FW::CsvPlanarClusterReader::read(), selectLayer(), selectModule(), selectVolume(), and FW::TrackFinderPerformanceWriter::Impl::write().

+ Here is the caller graph for this function:

template<typename Iterator >
Range<Iterator> FW::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::ostream& FW::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 FW::HelloData::a, FW::HelloData::b, FW::HelloData::t, and FW::HelloData::x.

std::string FW::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 39 of file Paths.cpp.

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

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

+ Here is the caller graph for this function:

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

Select all elements within the given layer.

Definition at line 112 of file GeometryContainers.hpp.

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

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

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

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Definition at line 128 of file GeometryContainers.hpp.

View newest version in sPHENIX GitHub at line 128 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> FW::selectModule ( const GeometryIdMultiset< T > &  container,
Acts::GeometryID  geoId 
)
inline

Select all elements for the given module / sensitive surface.

Definition at line 135 of file GeometryContainers.hpp.

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

References makeRange().

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

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Definition at line 141 of file GeometryContainers.hpp.

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

References selectModule().

+ Here is the call graph for this function:

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

Select all elements within the given volume.

Definition at line 90 of file GeometryContainers.hpp.

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

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

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

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Definition at line 105 of file GeometryContainers.hpp.

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

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

+ Here is the call graph for this function:

void FW::setupDigitization ( Options::Variables &  variables,
Sequencer &  sequencer,
std::shared_ptr< const RandomNumbers >  randomNumbers,
std::shared_ptr< const Acts::TrackingGeometry trackingGeometry 
)
void FW::setupEvgenInput ( const Options::Variables &  variables,
Sequencer &  sequencer,
std::shared_ptr< const RandomNumbers >  randomNumbers 
)
void FW::setupSimulation ( const Options::Variables &  variables,
FW::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 FW::Options::readBField().

+ Here is the call graph for this function: