ACTS
Experiment-independent tracking
Loading...
Searching...
No Matches
ActsFatras Namespace Reference

The ACTS Fatras fast simulation plugin. More...

Namespaces

namespace  Casts

Classes

struct  AbsPdgExcluder
 Select all particles except for (anti-)particles of one specific type. More...
struct  AbsPdgSelector
 Select particles and antiparticles of one specific type. More...
class  Barcode
 Particle identifier that encodes additional event information. More...
struct  BetheBloch
 Simulate energy loss using the Bethe-Bloch/Landau description. More...
struct  BetheHeitler
 Simulate electron energy loss using the Bethe-Heitler description. More...
struct  BoundParametersSmearer
 Uncorrelated smearing algorithm for fast digitisation of bound parameters. More...
struct  Channel
 A channel definition: Cell identification, readout word, links. More...
class  Channelizer
 Class that ties the digitization modules together and produces the channels. More...
struct  ChargedSelector
 Select all charged particles. More...
struct  Cluster
 A (simulated) cluster with its constituents. More...
struct  ContinuousProcess
 A continuous simulation process based on a physics model plus selectors. More...
struct  EveryParticle
 No-op particle selector that selects all particles. More...
struct  EverySurface
 Select every surface. More...
struct  FailedParticle
 A particle that failed to simulate. More...
struct  FreeParametersSmearer
 Uncorrelated smearing algorithm for fast digitisation of free parameters. More...
struct  GenericScattering
 Simulate (multiple) scattering using a configurable scattering model. More...
class  Hit
 A simulation hit on a surface. More...
class  InteractionList
 Compile-time set of interaction processes for the simulation. More...
class  LandauDistribution
 Draw random numbers from a Landau distribution. More...
struct  Max
 Select all objects with an extracted value below the cut. More...
struct  Min
 Select all objects with an extracted value equal or larger than the cut. More...
struct  NegativeSelector
 Select negatively charged particles. More...
struct  NeutralSelector
 Select neutral particles. More...
struct  NoDecay
 Decay module that treats all particles as stable. More...
struct  NoSurface
 Do not select any surface, ever. More...
class  Particle
 Particle identity information and kinematic state. More...
struct  PdgExcluder
 Select all particles except one specific type. More...
struct  PdgSelector
 Select particles of one specific type. More...
class  PhotonConversion
 This class handles the photon conversion. More...
struct  PlanarSurfaceDrift
 The PlanarSurfaceDrift takes an intersection in the nominal surface and projects the ends into the readout surface, which can be at : -1, 0, 1. More...
struct  PlanarSurfaceMask
 A brief struct that allows to apply a surface bound mask. More...
struct  PointLikeProcess
 A point like simulation process based on a physics model plus selectors. More...
struct  PositiveSelector
 Select positively charged particles. More...
struct  Range
 Select all objects with an extracted value within the range. More...
struct  Segmentizer
 The Segmentizer splits a surface segment, i.e. More...
struct  Simulation
 Multi-particle/event simulation. More...
struct  SimulationResult
 Single particle simulation result (and intermediate state). More...
struct  SingleParticleSimulation
 Single particle simulation with fixed propagator, interactions, and decay. More...

Typedefs

using Cell = std::pair<unsigned int, double>
 A single cell definition: index, cell central value.
template<typename... selectors_t>
using CombineAnd
 Select objects that fulfill all selectors.
template<typename... selectors_t>
using CombineOr
 Select objects that fulfill at least one selector.
using GaussianMixtureScattering = GenericScattering<detail::GaussianMixture>
using GeneralMixtureScattering = GenericScattering<detail::GeneralMixture>
using HighlandScattering = GenericScattering<detail::Highland>
template<typename generator_t>
using SingleParameterSmearFunction
 Smearing function definition for single track parameters.
using StandardChargedElectroMagneticInteractions
 Standard set of electro-magnetic interactions for charged particles.
using StandardNeutralElectroMagneticInteractions
 Standard set of electro-magnetic interactions for neutral particles.

Enumerations

enum class  DigitizationError {
  DigitizationError::SmearingOutOfRange = 1 , DigitizationError::SmearingError , DigitizationError::UndefinedSurface , DigitizationError::MaskingError ,
  DigitizationError::MaximumRetriesExceeded
}
enum class  ParticleOutcome : std::uint32_t {
  Alive = 0 , KilledInteraction = 1 , KilledVolumeExit = 2 , KilledTime = 3 ,
  KilledSecondaryParticle = 4
}
 Particle outcome identifier. More...
enum class  ProcessType : std::uint32_t {
  eUndefined = 0 , eDecay = 1 , ePhotonConversion = 2 , eBremsstrahlung = 3 ,
  eNuclearInteraction = 4
}
 Process type identifier. More...

Functions

std::error_code make_error_code (DigitizationError e)
StandardChargedElectroMagneticInteractions makeStandardChargedElectroMagneticInteractions (double minimumAbsMomentum)
 Construct the standard electro-magnetic interactions for charged particles.
StandardNeutralElectroMagneticInteractions makeStandardNeutralElectroMagneticInteractions (double minimumAbsMomentum)
 Construct the standard electro-magnetic interactions for neutral particles.
template<typename signal_t, std::size_t kSize>
const std::vector< Channel< signal_t, kSize > > mergeChannels (const std::vector< Channel< signal_t, kSize > > &channels)
 Generic implementation of a channel merger, currently only additive channel merging.
std::ostream & operator<< (std::ostream &os, const Particle &particle)
std::ostream & operator<< (std::ostream &os, ParticleOutcome outcome)
std::ostream & operator<< (std::ostream &os, ProcessType processType)

Detailed Description

The ACTS Fatras fast simulation plugin.

Typedef Documentation

◆ Cell

using ActsFatras::Cell = std::pair<unsigned int, double>

A single cell definition: index, cell central value.

◆ CombineAnd

template<typename... selectors_t>
using ActsFatras::CombineAnd
Initial value:
detail::CombineSelectors<true, std::logical_and<bool>, selectors_t...>

Select objects that fulfill all selectors.

◆ CombineOr

template<typename... selectors_t>
using ActsFatras::CombineOr
Initial value:
detail::CombineSelectors<false, std::logical_or<bool>, selectors_t...>

Select objects that fulfill at least one selector.

◆ GaussianMixtureScattering

using ActsFatras::GaussianMixtureScattering = GenericScattering<detail::GaussianMixture>

◆ GeneralMixtureScattering

◆ HighlandScattering

◆ SingleParameterSmearFunction

template<typename generator_t>
using ActsFatras::SingleParameterSmearFunction
Initial value:
std::function<Acts::Result<std::pair<double, double>>(double,
generator_t&)>

Smearing function definition for single track parameters.

The function takes the unsmeared parameter and returns the smeared value and a standard deviation.

Template Parameters
generator_tThe type of the random generator.

◆ StandardChargedElectroMagneticInteractions

Initial value:
InteractionList<detail::StandardScattering, detail::StandardBetheBloch,
detail::StandardBetheHeitler>
Compile-time set of interaction processes for the simulation.
Definition InteractionList.hpp:169

Standard set of electro-magnetic interactions for charged particles.

Scattering must come first so it is computed with the unmodified initial energy before energy loss is applied.

Warning
The list has no cuts on input particle charge or kinematics, i.e. it relies on the simulator to preselect relevant charged particles before application.
Todo

Bethe-Bloch does not describe electrons; add correct ionisation loss descriptions for electrons.

Bethe-Heitler is applied after energy loss and thus sees the wrong input energy.

◆ StandardNeutralElectroMagneticInteractions

Initial value:

Standard set of electro-magnetic interactions for neutral particles.

Enumeration Type Documentation

◆ ParticleOutcome

enum class ActsFatras::ParticleOutcome : std::uint32_t
strong

Particle outcome identifier.

Encodes the outcome of the particle after the simulation

Enumerator
Alive 
KilledInteraction 
KilledVolumeExit 
KilledTime 
KilledSecondaryParticle 

◆ ProcessType

enum class ActsFatras::ProcessType : std::uint32_t
strong

Process type identifier.

Encodes the type of process that generated a particle.

Enumerator
eUndefined 
eDecay 
ePhotonConversion 
eBremsstrahlung 
eNuclearInteraction 

Function Documentation

◆ make_error_code()

std::error_code ActsFatras::make_error_code ( DigitizationError e)

◆ makeStandardChargedElectroMagneticInteractions()

StandardChargedElectroMagneticInteractions ActsFatras::makeStandardChargedElectroMagneticInteractions ( double minimumAbsMomentum)

Construct the standard electro-magnetic interactions for charged particles.

Parameters
minimumAbsMomentumlower p cut on output particles

◆ makeStandardNeutralElectroMagneticInteractions()

StandardNeutralElectroMagneticInteractions ActsFatras::makeStandardNeutralElectroMagneticInteractions ( double minimumAbsMomentum)

Construct the standard electro-magnetic interactions for neutral particles.

Warning
The list has no cuts on input particle charge or kinematics, i.e. it relies on the simulator to preselect relevant charged particles before application.
Parameters
minimumAbsMomentumlower p cut on output particles

◆ mergeChannels()

template<typename signal_t, std::size_t kSize>
const std::vector< Channel< signal_t, kSize > > ActsFatras::mergeChannels ( const std::vector< Channel< signal_t, kSize > > & channels)

Generic implementation of a channel merger, currently only additive channel merging.

Template Parameters
signal_tThe type of signal, needs operator+= to be defined
kSizethe dimensionality of the object (cluster)
Parameters
channelsThe channels from one cluster
Returns
A cluster containing the parameter set and cluster size

◆ operator<<() [1/3]

std::ostream & ActsFatras::operator<< ( std::ostream & os,
const Particle & particle )

◆ operator<<() [2/3]

std::ostream & ActsFatras::operator<< ( std::ostream & os,
ParticleOutcome outcome )

◆ operator<<() [3/3]

std::ostream & ActsFatras::operator<< ( std::ostream & os,
ProcessType processType )