4#ifndef ACTSGEOMETRYINTERFACES_TrackingAlignStore_H
5#define ACTSGEOMETRYINTERFACES_TrackingAlignStore_H
30 enum class Mode: std::uint8_t {
42 return store.print(ostr);
78 std::size_t
size()
const;
80 std::size_t
filled()
const;
83 using LazyStorage_t = std::vector<CxxUtils::CachedUniquePtr<Amg::Transform3D>>;
85 using TrfVec_t = std::vector<Amg::Transform3D>;
91 using Storage_t = std::variant<LazyStorage_t, BlockStorage_t>;
102 std::ostream&
print(std::ostream& ostr)
const;
141 using Store_t = std::decay_t<
decltype(store)>;
142 if constexpr(std::is_same_v<Store_t, LazyStorage_t>) {
143 assert(ticketNo < store.size());
144 return store[ticketNo].get();
145 }
else if constexpr(std::is_same_v<Store_t, BlockStorage_t>) {
146 assert(ticketNo < store.first.size());
147 return store.second[ticketNo] ? &store.first[ticketNo] :
nullptr;
155#ifndef SIMULATIONBASE
Cached unique_ptr with atomic update.
ACTS_OSTREAM_FORMATTER(MuonR4::CalibratedSpacePoint::State)
Define macros for attributes used to control the static checker.
In order that the TransformStore is able to provide enough memory to store the transform centrally,...
static unsigned int distributedTickets(const DetectorType detType)
Returns the number of all distributed tickets.
std::array< int, s_techs > ReturnedHintArr
static unsigned int drawTicket(const DetectorType detType)
Returns a unique ID to the client under which the client can store its transfomrm inside the containe...
static TicketCounterArr s_clientCounter ATLAS_THREAD_SAFE
std::array< std::atomic< unsigned >, s_techs > TicketCounterArr
static constexpr unsigned s_techs
static void giveBackTicket(const DetectorType detType, unsigned int ticketNo)
Return back a ticket for the specified detector type such that its slot can be used by another instan...
std::array< std::vector< char >, s_techs > ReturnedTicketArr
Athena definition of the Eigen plugin.
DetectorType
Simple enum to Identify the Type of the ACTS sub detector.
@ UnDefined
Small Thing Gap chambers (NSW).
Eigen::Affine3d Transform3D