Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
ActsFatras Namespace Reference

Namespaces

namespace  Casts
 
namespace  detail
 

Classes

class  DummyDetectorConstruction
 Construct a dummy Geant4 detector. More...
 
class  Geant4Decay
 Handle particle decays using the Geant4 decay models. More...
 
class  PDGtoG4Converter
 This class converts a PDG ID into a corresponding Geant4 particle. More...
 
struct  Channelizer
 
struct  Channel
 
struct  Cluster
 
struct  PlanarSurfaceDrift
 
struct  PlanarSurfaceMask
 A brief struct that allows to apply a surface bound mask. More...
 
struct  BoundParametersSmearer
 
struct  FreeParametersSmearer
 
class  Barcode
 
class  Hit
 
class  Particle
 
struct  ContinuousProcess
 
class  InteractionList
 
struct  SingleParticleSimulation
 
struct  FailedParticle
 A particle that failed to simulate. More...
 
struct  Simulation
 
struct  SimulationResult
 
struct  NoDecay
 Decay module that treats all particles as stable. More...
 
struct  BetheBloch
 
struct  BetheHeitler
 
class  PhotonConversion
 
struct  NuclearInteraction
 
struct  EveryParticle
 No-op particle selector that selects all particles. More...
 
struct  NeutralSelector
 Select neutral particles. More...
 
struct  ChargedSelector
 Select all charged particles. More...
 
struct  PositiveSelector
 Select positively charged particles. More...
 
struct  NegativeSelector
 Select negatively charged particles. More...
 
struct  PdgSelector
 
struct  AbsPdgSelector
 Select particles and antiparticles of one specific type. More...
 
struct  PdgExcluder
 
struct  AbsPdgExcluder
 Select all particles except for (anti-)particles of one specific type. More...
 
struct  Min
 Select all objects with an extracted value equal or larger than the cut. More...
 
struct  Max
 Select all objects with an extracted value below the cut. More...
 
struct  Range
 
struct  NoSurface
 Do not select any surface, ever. More...
 
struct  EverySurface
 Select every surface. More...
 
class  LandauDistribution
 
struct  RectangleRandom
 Generate ranom numbers within the regular, centric Rectangle. More...
 
struct  TrapezoidRandom
 Create Random variables inside a regular Trapezoid. More...
 
struct  DiscRandom
 Generate ranom numbers within disc ring. More...
 
struct  AnnulusRandom
 Generate random numbers within an Annulus object. More...
 
struct  DigitizationCsvOutput
 Helper to write out Digitization tesbed into csv files. More...
 
struct  PlanarSurfaceTestBeds
 Helper struct to create a testbed for Digitization steps. More...
 

Typedefs

using Cell = std::pair< unsigned int, Acts::ActsScalar >
 A single cell definition: index, cell central value.
 
template<typename generator_t >
using SingleParameterSmearFunction = std::function< Acts::Result< std::pair< double, double >>(double, generator_t &)>
 
using GaussianMixtureScattering = detail::ScatteringImpl< detail::GaussianMixture >
 
using GeneralMixtureScattering = detail::ScatteringImpl< detail::GeneralMixture >
 
using HighlandScattering = detail::ScatteringImpl< detail::Highland >
 
using StandardChargedElectroMagneticInteractions = InteractionList< detail::StandardScattering, detail::StandardBetheBloch, detail::StandardBetheHeitler >
 
template<typename... selectors_t>
using CombineAnd = detail::CombineSelectors< true, std::logical_and< bool >, selectors_t...>
 Select objects that fullfil all selectors.
 
template<typename... selectors_t>
using CombineOr = detail::CombineSelectors< false, std::logical_or< bool >, selectors_t...>
 Select objects that fullfil at least one selector.
 
using Randomizer = std::function< Acts::Vector2(double, double)>
 
using PlanarTestBed = std::tuple< std::string, std::shared_ptr< const Acts::Surface >, Acts::BinUtility, Randomizer >
 

Enumerations

enum  DigitizationError
 
enum  ProcessType : uint32_t
 

Functions

G4RunManager * ensureGeant4RunManager ()
 
template<typename signal_t , size_t kSize>
const std::vector< Channel
< signal_t, kSize > > 
mergeChannels (const std::vector< Channel< signal_t, kSize >> &channels)
 
std::error_code make_error_code (DigitizationError e)
 
std::ostream & operator<< (std::ostream &os, const Particle &particle)
 
std::ostream & operator<< (std::ostream &os, ProcessType processType)
 
StandardChargedElectroMagneticInteractions makeStandardChargedElectroMagneticInteractions (double minimumAbsMomentum)
 
 BOOST_AUTO_TEST_CASE (ChannelizerCartesian)
 
 BOOST_AUTO_TEST_CASE (ChannelizerPolarRadial)
 
 BOOST_DATA_TEST_CASE (RandomChannelizerTest, bdata::random(0., 1.)^bdata::random(0., 1.)^bdata::random(0., 1.)^bdata::random(0., 1.)^bdata::xrange(25), startR0, startR1, endR0, endR1, index)
 Unit test for testing the Channelizer.
 
 BOOST_AUTO_TEST_CASE (PlanarSurfaceDrift)
 
 BOOST_AUTO_TEST_CASE (PlaneMaskRectangleBounds)
 
 BOOST_AUTO_TEST_CASE (DiscMaskRadialBounds)
 
 BOOST_DATA_TEST_CASE (RandomPlanarSurfaceMask, bdata::random(0., 1.)^bdata::random(0., 1.)^bdata::random(0., 1.)^bdata::random(0., 1.)^bdata::xrange(ntests), startR0, startR1, endR0, endR1, index)
 Unit test for testing the Surface mask.
 

Variables

std::vector< std::array
< std::ofstream, 3 > > 
out
 
std::vector< std::array
< std::ofstream, 3 > > 
segmentOutput
 
int ntests = 100
 

Typedef Documentation

using ActsFatras::Cell = typedef std::pair<unsigned int, Acts::ActsScalar>

A single cell definition: index, cell central value.

Definition at line 20 of file DigitizationData.hpp.

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

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

Select objects that fullfil all selectors.

Definition at line 59 of file SelectorHelpers.hpp.

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

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

Select objects that fullfil at least one selector.

Definition at line 64 of file SelectorHelpers.hpp.

View newest version in sPHENIX GitHub at line 64 of file SelectorHelpers.hpp

Definition at line 79 of file Scattering.hpp.

View newest version in sPHENIX GitHub at line 79 of file Scattering.hpp

Definition at line 80 of file Scattering.hpp.

View newest version in sPHENIX GitHub at line 80 of file Scattering.hpp

Definition at line 81 of file Scattering.hpp.

View newest version in sPHENIX GitHub at line 81 of file Scattering.hpp

using ActsFatras::PlanarTestBed = typedef std::tuple<std::string, std::shared_ptr<const Acts::Surface>, Acts::BinUtility, Randomizer>

Definition at line 36 of file PlanarSurfaceTestBeds.hpp.

View newest version in sPHENIX GitHub at line 36 of file PlanarSurfaceTestBeds.hpp

using ActsFatras::Randomizer = typedef std::function<Acts::Vector2(double, double)>

Definition at line 32 of file PlanarSurfaceTestBeds.hpp.

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

template<typename generator_t >
using ActsFatras::SingleParameterSmearFunction = typedef 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.

Definition at line 33 of file UncorrelatedHitSmearer.hpp.

View newest version in sPHENIX GitHub at line 33 of file UncorrelatedHitSmearer.hpp

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.

Definition at line 64 of file StandardInteractions.hpp.

View newest version in sPHENIX GitHub at line 64 of file StandardInteractions.hpp

Enumeration Type Documentation

Definition at line 16 of file DigitizationError.hpp.

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

enum ActsFatras::ProcessType : uint32_t

Process type identifier.

Encodes the type of process that generated a particle.

Definition at line 19 of file ProcessType.hpp.

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

Function Documentation

ActsFatras::BOOST_AUTO_TEST_CASE ( PlanarSurfaceDrift  )

Definition at line 29 of file PlanarSurfaceDriftTests.cpp.

View newest version in sPHENIX GitHub at line 29 of file PlanarSurfaceDriftTests.cpp

References CHECK_CLOSE_ABS, geoCtx, Acts::s_epsilon, ActsFatras::PlanarSurfaceDrift::toReadout(), ambiguity_solver_full_chain::x, and y.

+ Here is the call graph for this function:

ActsFatras::BOOST_AUTO_TEST_CASE ( ChannelizerCartesian  )

Definition at line 42 of file ChannelizerTests.cpp.

View newest version in sPHENIX GitHub at line 42 of file ChannelizerTests.cpp

References Acts::binX, Acts::binY, geoCtx, Acts::open, and ActsFatras::Channelizer::segments().

+ Here is the call graph for this function:

ActsFatras::BOOST_AUTO_TEST_CASE ( PlaneMaskRectangleBounds  )

Case one : one outside

Case two : two outside

Case two : both inside (most likely case, untouched)

Definition at line 47 of file PlanarSurfaceMaskTests.cpp.

View newest version in sPHENIX GitHub at line 47 of file PlanarSurfaceMaskTests.cpp

References CHECK_CLOSE_ABS, Acts::s_epsilon, Acts::Test::segment(), ambiguity_solver_full_chain::x, and y.

+ Here is the call graph for this function:

ActsFatras::BOOST_AUTO_TEST_CASE ( DiscMaskRadialBounds  )

Case one : one outside R min

Case two : one outside R max

Case three : both outside R min / max

Case four: outside phi min

Case five: outside phi max

Definition at line 83 of file PlanarSurfaceMaskTests.cpp.

View newest version in sPHENIX GitHub at line 83 of file PlanarSurfaceMaskTests.cpp

References CHECK_CLOSE_ABS, Acts::VectorHelpers::perp(), Acts::VectorHelpers::phi(), Acts::s_epsilon, Acts::Test::segment(), ambiguity_solver_full_chain::x, and y.

+ Here is the call graph for this function:

ActsFatras::BOOST_AUTO_TEST_CASE ( ChannelizerPolarRadial  )

Definition at line 85 of file ChannelizerTests.cpp.

View newest version in sPHENIX GitHub at line 85 of file ChannelizerTests.cpp

References Acts::binPhi, Acts::binR, geoCtx, Acts::open, and ActsFatras::Channelizer::segments().

+ Here is the call graph for this function:

ActsFatras::BOOST_DATA_TEST_CASE ( RandomChannelizerTest  ,
bdata::  random0., 1.)^bdata::random(0., 1.)^bdata::random(0., 1.)^bdata::random(0., 1.)^bdata::xrange(25,
startR0  ,
startR1  ,
endR0  ,
endR1  ,
index   
)

Unit test for testing the Channelizer.

Run the channelizer

Definition at line 122 of file ChannelizerTests.cpp.

View newest version in sPHENIX GitHub at line 122 of file ChannelizerTests.cpp

References Acts::binPhi, Acts::binR, Acts::binX, Acts::binY, Acts::Surface::Disc, end, geoCtx, grid(), index, perf_headwind::name, ActsTests::PropagationDatasets::phi, Acts::Surface::Plane, physmon_track_finding_ttbar::r, ActsFatras::Channelizer::segments(), shape(), start, writeMapConfig::surface, to_string(), ActsFatras::DigitizationCsvOutput::writeArc(), ActsFatras::DigitizationCsvOutput::writeLine(), and ActsFatras::DigitizationCsvOutput::writePolygon().

+ Here is the call graph for this function:

ActsFatras::BOOST_DATA_TEST_CASE ( RandomPlanarSurfaceMask  ,
bdata::  random0., 1.)^bdata::random(0., 1.)^bdata::random(0., 1.)^bdata::random(0., 1.)^bdata::xrange(ntests,
startR0  ,
startR1  ,
endR0  ,
endR1  ,
index   
)

Unit test for testing the Surface mask.

Definition at line 134 of file PlanarSurfaceMaskTests.cpp.

View newest version in sPHENIX GitHub at line 134 of file PlanarSurfaceMaskTests.cpp

References ActsFatras::PlanarSurfaceMask::apply(), Acts::Surface::Disc, end, geoCtx, index, perf_headwind::name, ntests, Acts::Surface::Plane, Acts::Test::segment(), segmentOutput, shape(), start, writeMapConfig::surface, ActsFatras::DigitizationCsvOutput::writeLine(), and ActsFatras::DigitizationCsvOutput::writePolygon().

+ Here is the call graph for this function:

G4RunManager * ActsFatras::ensureGeant4RunManager ( )

Either return the global run manager or create a new dummy one.

Returns
Pointer to the run manager

Definition at line 21 of file DummyDetectorConstruction.cpp.

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

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

Definition at line 42 of file DigitizationError.cpp.

View newest version in sPHENIX GitHub at line 42 of file DigitizationError.cpp

References Acts::PhysicalConstants::c, and Acts::UnitConstants::e.

ActsFatras::StandardChargedElectroMagneticInteractions ActsFatras::makeStandardChargedElectroMagneticInteractions ( double  minimumAbsMomentum)

Construct the standard electro-magnetic interactions for charged particles.

Parameters
minimumAbsMomentumlower p cut on output particles

Definition at line 12 of file StandardInteractions.cpp.

View newest version in sPHENIX GitHub at line 12 of file StandardInteractions.cpp

References ActsFatras::InteractionList< processes_t >::get(), and ActsFatras::ContinuousProcess< physics_t, input_particle_selector_t, output_particle_selector_t, child_particle_selector_t >::selectOutputParticle.

+ Here is the call graph for this function:

template<typename signal_t , 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 dimensonality of the object (cluster)
Parameters
channelsThe channels from one cluster
Returns
A cluster containing the parameter set and cluster size

Definition at line 30 of file ChannelMerger.hpp.

View newest version in sPHENIX GitHub at line 30 of file ChannelMerger.hpp

References ActsFatras::Channel< signal_t, kSize >::cellId, and value.

Referenced by BOOST_AUTO_TEST_CASE().

+ Here is the caller graph for this function:

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

Definition at line 15 of file ProcessType.cpp.

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

References os.

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

Definition at line 20 of file Particle.cpp.

View newest version in sPHENIX GitHub at line 20 of file Particle.cpp

References ActsFatras::Particle::absoluteMomentum(), ActsFatras::Particle::charge(), ActsFatras::Particle::mass(), os, ActsFatras::Particle::particleId(), ActsFatras::Particle::pdg(), and Acts::MultiIndex< T, BitsPerLevel >::value().

+ Here is the call graph for this function:

Variable Documentation

int ActsFatras::ntests = 100

Definition at line 131 of file PlanarSurfaceMaskTests.cpp.

View newest version in sPHENIX GitHub at line 131 of file PlanarSurfaceMaskTests.cpp

Referenced by BOOST_DATA_TEST_CASE().

std::vector<std::array<std::ofstream, 3> > ActsFatras::out

Definition at line 43 of file PlanarSurfaceMaskTests.cpp.

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

std::vector<std::array<std::ofstream, 3> > ActsFatras::segmentOutput

Definition at line 130 of file PlanarSurfaceMaskTests.cpp.

View newest version in sPHENIX GitHub at line 130 of file PlanarSurfaceMaskTests.cpp

Referenced by BOOST_DATA_TEST_CASE().