|
ACTS
Experiment-independent tracking
|
Factory helper class to construct volume or surface bounds where the constructed bounds are cached inside the factory and if the same bound parameters are requested at a later stage the factory automatically returns the cached bounds. More...
#include <Acts/Utilities/BoundFactory.hpp>
Public Types | |
| template<typename T> | |
| using | BoundsRet_t |
| Abbreviation of the class return type. | |
Public Member Functions | |
| BoundFactory ()=default | |
| Empty default constructor. | |
| BoundFactory (const BoundFactory &other)=delete | |
| Delete the copy constructor. | |
| template<typename BoundsImpl_t> requires (std::is_base_of_v<BoundsType_t, BoundsImpl_t>) | |
| std::shared_ptr< BoundsRet_t< BoundsImpl_t > > | insert (const std::shared_ptr< BoundsImpl_t > &bounds) |
| Pass externally constructed bounds to the factory and run the deduplication mechanism on them. | |
| template<typename BoundsImpl_t, class... argList> requires (std::is_base_of_v<BoundsType_t, BoundsImpl_t>) | |
| std::shared_ptr< BoundsRet_t< BoundsImpl_t > > | makeBounds (argList... args) |
| Factory method to construct new bounds from the passed arguments. | |
| BoundFactory & | operator= (const BoundFactory &other)=delete |
| Delete copy assignment. | |
| std::size_t | size () const |
| Returns the number of cached objects inside the bound factory. | |
Factory helper class to construct volume or surface bounds where the constructed bounds are cached inside the factory and if the same bound parameters are requested at a later stage the factory automatically returns the cached bounds.
This provides a simple sharing mechanism of the same bounds across multiple surfaces / volumes
| using Acts::BoundFactory< BoundsType_t >::BoundsRet_t |
Abbreviation of the class return type.
If the set is over const objects, the return type is const as well and non-const otherwise
| std::shared_ptr< BoundsRet_t< BoundsImpl_t > > Acts::BoundFactory< BoundsType_t >::insert | ( | const std::shared_ptr< BoundsImpl_t > & | bounds | ) |
Pass externally constructed bounds to the factory and run the deduplication mechanism on them.
| BoundsImpl_t | Template specification of the bounds to deduplicate |
| bounds | Pointer to the bounds to deduplicated |
| std::shared_ptr< BoundsRet_t< BoundsImpl_t > > Acts::BoundFactory< BoundsType_t >::makeBounds | ( | argList... | args | ) |
Factory method to construct new bounds from the passed arguments.
| BoundsImpl_t | Explicit template specification of the bounds to construct |
| args | List of defining bound parameters |
| std::size_t Acts::BoundFactory< BoundsType_t >::size | ( | ) | const |
Returns the number of cached objects inside the bound factory.