Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Acts::Cuda::SeedFinder< external_spacepoint_t > Class Template Reference

#include <acts/blob/sPHENIX/Plugins/Cuda/include/Acts/Plugins/Cuda/Seeding2/SeedFinder.hpp>

+ Collaboration diagram for Acts::Cuda::SeedFinder< external_spacepoint_t >:

Public Member Functions

 SeedFinder (SeedFinderConfig< external_spacepoint_t > commonConfig, const SeedFinderOptions &seedFinderOptions, const SeedFilterConfig &seedFilterConfig, const TripletFilterConfig &tripletFilterConfig, int device=0, std::unique_ptr< const Logger > logger=getDefaultLogger("Cuda::SeedFinder", Logging::INFO))
 
template<typename sp_range_t >
std::vector< Seed
< external_spacepoint_t > > 
createSeedsForGroup (Acts::SpacePointData &spacePointData, Acts::SpacePointGrid< external_spacepoint_t > &grid, const sp_range_t &bottomSPs, const std::size_t middleSPs, const sp_range_t &topSPs) const
 
void setLogger (std::unique_ptr< const Logger > newLogger)
 

Private Member Functions

const Loggerlogger () const
 

Private Attributes

SeedFinderConfig
< external_spacepoint_t > 
m_commonConfig
 Configuration for the seed finder.
 
SeedFinderOptions m_seedFinderOptions
 
SeedFilterConfig m_seedFilterConfig
 Configuration for the (host) seed filter.
 
TripletFilterConfig m_tripletFilterConfig
 Configuration for the (device) triplet filter.
 
int m_device
 CUDA device identifier.
 
std::unique_ptr< const Loggerm_logger
 The logger object.
 

Detailed Description

template<typename external_spacepoint_t>
class Acts::Cuda::SeedFinder< external_spacepoint_t >

Definition at line 29 of file SeedFinder.hpp.

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

Constructor & Destructor Documentation

template<typename external_spacepoint_t >
Acts::Cuda::SeedFinder< external_spacepoint_t >::SeedFinder ( Acts::SeedFinderConfig< external_spacepoint_t >  commonConfig,
const SeedFinderOptions seedFinderOptions,
const SeedFilterConfig seedFilterConfig,
const TripletFilterConfig tripletFilterConfig,
int  device = 0,
std::unique_ptr< const Logger logger = getDefaultLogger("Cuda::SeedFinder< external_spacepoint_t >", Logging::INFO) 
)

Create a CUDA backed seed finder object

Parameters
commonConfigConfiguration shared with Acts::SeedFinder
seedFinderOptionsoptions also shared with Acts::SeedFinder
seedFilterConfigConfiguration shared with Acts::SeedFilter
tripletFilterConfigConfiguration for the GPU based triplet filtering
deviceThe identifier of the CUDA device to run on
loggerA Logger instance

Definition at line 33 of file SeedFinder.ipp.

View newest version in sPHENIX GitHub at line 33 of file SeedFinder.ipp

References ACTS_DEBUG, ACTS_FATAL, Acts::SeedFinderConfig< SpacePoint >::deltaRMaxBottomSP, Acts::SeedFinderConfig< SpacePoint >::deltaRMaxTopSP, Acts::SeedFinderConfig< SpacePoint >::deltaRMinBottomSP, Acts::SeedFinderConfig< SpacePoint >::deltaRMinTopSP, Acts::Cuda::Info::instance(), Acts::SeedFilterConfig::isInInternalUnits, Acts::SeedFinderConfig< SpacePoint >::isInInternalUnits, Acts::SeedFinderOptions::isInInternalUnits, Acts::Cuda::SeedFinder< external_spacepoint_t >::m_commonConfig, Acts::Cuda::SeedFinder< external_spacepoint_t >::m_device, Acts::Cuda::SeedFinder< external_spacepoint_t >::m_seedFilterConfig, Acts::Cuda::SeedFinder< external_spacepoint_t >::m_seedFinderOptions, and size.

+ Here is the call graph for this function:

Member Function Documentation

template<typename external_spacepoint_t >
template<typename sp_range_t >
std::vector< Seed< external_spacepoint_t > > Acts::Cuda::SeedFinder< external_spacepoint_t >::createSeedsForGroup ( Acts::SpacePointData spacePointData,
Acts::SpacePointGrid< external_spacepoint_t > &  grid,
const sp_range_t &  bottomSPs,
const std::size_t  middleSPs,
const sp_range_t &  topSPs 
) const

Create all seeds from the space points in the three iterators. Can be used to parallelize the seed creation

Parameters
bottomSPsgroup of space points to be used as innermost SP in a seed.
middleSPsgroup of space points to be used as middle SP in a seed.
topSPsgroup of space points to be used as outermost SP in a seed. Ranges must return pointers. Ranges must be separate objects for each parallel call.
Returns
vector in which all found seeds for this group are stored.

Definition at line 83 of file SeedFinder.ipp.

View newest version in sPHENIX GitHub at line 83 of file SeedFinder.ipp

References TauVsDIS_MachineLearning_Differentiation::array, assert, Acts::detail::Grid< T, Axes >::at(), Acts::Cuda::copyToDevice(), Acts::Cuda::Details::countDublets(), Acts::Cuda::Details::findDublets(), Acts::Cuda::Details::findTriplets(), grid(), i, ambiguity_solver_full_chain::idx, Acts::Cuda::Info::instance(), Acts::Cuda::MemoryManager::instance(), Acts::Cuda::Details::SpacePoint::radius, Acts::Cuda::MemoryManager::reset(), Acts::Experimental::detail::BlueprintHelper::sort(), Acts::Cuda::Details::SpacePoint::varianceR, Acts::Cuda::Details::SpacePoint::varianceZ, Acts::Cuda::Details::SpacePoint::x, Acts::Cuda::Details::SpacePoint::y, and Acts::Cuda::Details::SpacePoint::z.

Referenced by main().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

template<typename external_spacepoint_t>
const Logger& Acts::Cuda::SeedFinder< external_spacepoint_t >::logger ( ) const
inlineprivate

Private access to the logger

Returns
a const reference to the logger

Definition at line 76 of file SeedFinder.hpp.

View newest version in sPHENIX GitHub at line 76 of file SeedFinder.hpp

References Acts::Cuda::SeedFinder< external_spacepoint_t >::m_logger.

template<typename external_spacepoint_t >
void Acts::Cuda::SeedFinder< external_spacepoint_t >::setLogger ( std::unique_ptr< const Logger newLogger)

set logging instance

Parameters
[in]newLoggeris the logging instance to be set

Definition at line 247 of file SeedFinder.ipp.

View newest version in sPHENIX GitHub at line 247 of file SeedFinder.ipp

References m_logger.

Member Data Documentation

template<typename external_spacepoint_t>
SeedFinderConfig<external_spacepoint_t> Acts::Cuda::SeedFinder< external_spacepoint_t >::m_commonConfig
private

Configuration for the seed finder.

Definition at line 79 of file SeedFinder.hpp.

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

Referenced by Acts::Cuda::SeedFinder< external_spacepoint_t >::SeedFinder().

template<typename external_spacepoint_t>
int Acts::Cuda::SeedFinder< external_spacepoint_t >::m_device
private

CUDA device identifier.

Definition at line 86 of file SeedFinder.hpp.

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

Referenced by Acts::Cuda::SeedFinder< external_spacepoint_t >::SeedFinder().

template<typename external_spacepoint_t>
std::unique_ptr<const Logger> Acts::Cuda::SeedFinder< external_spacepoint_t >::m_logger
private

The logger object.

Definition at line 88 of file SeedFinder.hpp.

View newest version in sPHENIX GitHub at line 88 of file SeedFinder.hpp

Referenced by Acts::Cuda::SeedFinder< external_spacepoint_t >::logger().

template<typename external_spacepoint_t>
SeedFilterConfig Acts::Cuda::SeedFinder< external_spacepoint_t >::m_seedFilterConfig
private

Configuration for the (host) seed filter.

Definition at line 82 of file SeedFinder.hpp.

View newest version in sPHENIX GitHub at line 82 of file SeedFinder.hpp

Referenced by Acts::Cuda::SeedFinder< external_spacepoint_t >::SeedFinder().

template<typename external_spacepoint_t>
SeedFinderOptions Acts::Cuda::SeedFinder< external_spacepoint_t >::m_seedFinderOptions
private

Definition at line 80 of file SeedFinder.hpp.

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

Referenced by Acts::Cuda::SeedFinder< external_spacepoint_t >::SeedFinder().

template<typename external_spacepoint_t>
TripletFilterConfig Acts::Cuda::SeedFinder< external_spacepoint_t >::m_tripletFilterConfig
private

Configuration for the (device) triplet filter.

Definition at line 84 of file SeedFinder.hpp.

View newest version in sPHENIX GitHub at line 84 of file SeedFinder.hpp


The documentation for this class was generated from the following files: