 |
ATLAS Offline Software
|
#include <InDetToXAODSpacePointConversion.h>
|
| | InDetToXAODSpacePointConversion (const std::string &name, ISvcLocator *pSvcLocator) |
| | Constructor with parameters: More...
|
| |
| virtual StatusCode | initialize () override |
| |
| virtual StatusCode | execute (const EventContext &ctx) const override |
| |
| virtual StatusCode | sysInitialize () override |
| | Override sysInitialize. More...
|
| |
| virtual bool | isClonable () const override |
| | Specify if the algorithm is clonable. More...
|
| |
| virtual unsigned int | cardinality () const override |
| | Cardinality (Maximum number of clones that can exist) special value 0 means that algorithm is reentrant. More...
|
| |
| virtual StatusCode | sysExecute (const EventContext &ctx) override |
| | Execute an algorithm. More...
|
| |
| virtual const DataObjIDColl & | extraOutputDeps () const override |
| | Return the list of extra output dependencies. More...
|
| |
| virtual bool | filterPassed (const EventContext &ctx) const |
| |
| virtual void | setFilterPassed (bool state, const EventContext &ctx) const |
| |
| ServiceHandle< StoreGateSvc > & | evtStore () |
| | The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc. More...
|
| |
| const ServiceHandle< StoreGateSvc > & | evtStore () const |
| | The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc. More...
|
| |
| const ServiceHandle< StoreGateSvc > & | detStore () const |
| | The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc. More...
|
| |
| virtual StatusCode | sysStart () override |
| | Handle START transition. More...
|
| |
| virtual std::vector< Gaudi::DataHandle * > | inputHandles () const override |
| | Return this algorithm's input handles. More...
|
| |
| virtual std::vector< Gaudi::DataHandle * > | outputHandles () const override |
| | Return this algorithm's output handles. More...
|
| |
| Gaudi::Details::PropertyBase & | declareProperty (Gaudi::Property< T, V, H > &t) |
| |
| Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleKey &hndl, const std::string &doc, const SG::VarHandleKeyType &) |
| | Declare a new Gaudi property. More...
|
| |
| Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleBase &hndl, const std::string &doc, const SG::VarHandleType &) |
| | Declare a new Gaudi property. More...
|
| |
| Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleKeyArray &hndArr, const std::string &doc, const SG::VarHandleKeyArrayType &) |
| |
| Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, T &property, const std::string &doc, const SG::NotHandleType &) |
| | Declare a new Gaudi property. More...
|
| |
| Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, T &property, const std::string &doc="none") |
| | Declare a new Gaudi property. More...
|
| |
| void | updateVHKA (Gaudi::Details::PropertyBase &) |
| |
| MsgStream & | msg () const |
| |
| MsgStream & | msg (const MSG::Level lvl) const |
| |
| bool | msgLvl (const MSG::Level lvl) const |
| |
|
| StatusCode | convertPixel (const EventContext &ctx, xAOD::PixelClusterContainer *cluster_xaod_container) const |
| |
| StatusCode | convertStrip (const EventContext &ctx, const Amg::Vector3D &vertex, xAOD::StripClusterContainer *cluster_xaod_container, std::unordered_map< Identifier, std::size_t > &mapClusters) const |
| |
| StatusCode | convertStripOverlap (const EventContext &ctx, const Amg::Vector3D &vertex, xAOD::StripClusterContainer *cluster_xaod_container, std::unordered_map< Identifier, std::size_t > &mapClusters) const |
| |
| Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &) |
| | specialization for handling Gaudi::Property<SG::VarHandleKey> More...
|
| |
| Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyArrayType &) |
| | specialization for handling Gaudi::Property<SG::VarHandleKeyArray> More...
|
| |
| Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleType &) |
| | specialization for handling Gaudi::Property<SG::VarHandleBase> More...
|
| |
| Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &t, const SG::NotHandleType &) |
| | specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray> More...
|
| |
|
| SG::ReadCondHandleKey< InDet::BeamSpotData > | m_beamSpotKey |
| |
| SG::ReadHandleKey< ::SpacePointContainer > | m_inSpacepointsPixel |
| |
| SG::ReadHandleKey< ::SpacePointContainer > | m_inSpacepointsStrip |
| |
| SG::ReadHandleKey< ::SpacePointOverlapCollection > | m_inSpacepointsOverlap |
| |
| SG::WriteHandleKey< xAOD::PixelClusterContainer > | m_outClustersPixel |
| |
| SG::WriteHandleKey< xAOD::StripClusterContainer > | m_outClustersStrip |
| |
| SG::WriteHandleKey< xAOD::SpacePointContainer > | m_outSpacepointsPixel |
| |
| SG::WriteHandleKey< xAOD::SpacePointContainer > | m_outSpacepointsStrip |
| |
| SG::WriteHandleKey< xAOD::SpacePointContainer > | m_outSpacepointsOverlap |
| |
| SG::ReadCondHandleKey< InDetDD::SiDetectorElementCollection > | m_pixelDetEleCollKey {this, "PixelDetEleCollKey", "ITkPixelDetectorElementCollection", "Key of SiDetectorElementCollection for Pixel"} |
| |
| SG::ReadCondHandleKey< InDetDD::SiDetectorElementCollection > | m_stripDetEleCollKey {this, "StripDetEleCollKey", "ITkStripDetectorElementCollection", "Key of SiDetectorElementCollection for Strip"} |
| |
| Gaudi::Property< bool > | m_convertClusters {this, "ConvertClusters", false} |
| |
| Gaudi::Property< bool > | m_processPixel {this, "ProcessPixel", true} |
| |
| Gaudi::Property< bool > | m_processStrip {this, "ProcessStrip", true} |
| |
| const PixelID * | m_pixelID {nullptr} |
| |
| const SCT_ID * | m_stripID {nullptr} |
| |
| DataObjIDColl | m_extendedExtraObjects |
| | Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks. More...
|
| |
| StoreGateSvc_t | m_evtStore |
| | Pointer to StoreGate (event store by default) More...
|
| |
| StoreGateSvc_t | m_detStore |
| | Pointer to StoreGate (detector store by default) More...
|
| |
| std::vector< SG::VarHandleKeyArray * > | m_vhka |
| |
| bool | m_varHandleArraysDeclared |
| |
◆ StoreGateSvc_t
◆ InDetToXAODSpacePointConversion()
| InDet::InDetToXAODSpacePointConversion::InDetToXAODSpacePointConversion |
( |
const std::string & |
name, |
|
|
ISvcLocator * |
pSvcLocator |
|
) |
| |
◆ cardinality()
Cardinality (Maximum number of clones that can exist) special value 0 means that algorithm is reentrant.
Override this to return 0 for reentrant algorithms.
Override this to return 0 for reentrant algorithms.
Definition at line 75 of file AthCommonReentrantAlgorithm.cxx.
◆ convertPixel()
Definition at line 101 of file InDetToXAODSpacePointConversion.cxx.
109 if (not pixelDetEleHandle.
isValid()) {
111 return StatusCode::FAILURE;
113 pixElements = pixelDetEleHandle.
cptr();
123 std::unique_ptr< xAOD::SpacePointAuxContainer > pixel_xaod_aux_container = std::make_unique< xAOD::SpacePointAuxContainer >();
124 pixel_xaod_container->setStore( pixel_xaod_aux_container.get() );
127 for (const ::SpacePointCollection *spc : *pixel_container) {
131 pixel_xaod_container->
push_new (nsp, [&
pool](){
return pool.nextElementPtr();});
135 for (const ::SpacePointCollection *spc : *pixel_container) {
144 const std::pair<const Trk::PrepRawData*, const Trk::PrepRawData*>& clusterList = sp->clusterList();
146 if (theCluster ==
nullptr) {
150 auto clusterId = clusterList.first->identify();
152 if ( element ==
nullptr ) {
153 ATH_MSG_FATAL(
"Invalid pixel detector element for cluster identifier " << clusterId );
154 return StatusCode::FAILURE;
158 cluster_xaod_container->
push_back(pixelCl);
165 linkAcc(*pixel_sp) = link;
171 ATH_CHECK( pixel_xaod_handle.
record( std::move(pixel_xaod_container), std::move(pixel_xaod_aux_container) ) );
173 return StatusCode::SUCCESS;
◆ convertStrip()
Definition at line 176 of file InDetToXAODSpacePointConversion.cxx.
184 if (not stripDetEleHandle.isValid()) {
186 return StatusCode::FAILURE;
188 stripElements = stripDetEleHandle.cptr();
199 std::unique_ptr< xAOD::SpacePointContainer > strip_xaod_container = std::make_unique< xAOD::SpacePointContainer >();
200 std::unique_ptr< xAOD::SpacePointAuxContainer > strip_xaod_aux_container = std::make_unique< xAOD::SpacePointAuxContainer >();
201 strip_xaod_container->setStore( strip_xaod_aux_container.get() );
203 strip_xaod_container->
reserve(strip_container->size());
204 strip_xaod_aux_container->
reserve(strip_container->size());
207 for (const ::SpacePointCollection *spc : *strip_container) {
216 const std::pair<const Trk::PrepRawData*, const Trk::PrepRawData*>& clusterList = sp->clusterList();
219 if (theCluster1 ==
nullptr or
220 theCluster2 ==
nullptr) {
224 auto clusterId1 = clusterList.first->identify();
225 auto clusterId2 = clusterList.second->identify();
228 if ( element1 ==
nullptr ) {
229 ATH_MSG_FATAL(
"Invalid strip detector element for cluster (1) identifiers " << clusterId1 );
230 return StatusCode::FAILURE;
232 if ( element2 ==
nullptr ) {
233 ATH_MSG_FATAL(
"Invalid strip detector element for cluster (2) identifiers " << clusterId2 );
234 return StatusCode::FAILURE;
237 auto insertEntry = [&mapClusters, cluster_xaod_container](
const auto & clusterId)->
bool{
238 const auto & [
p,inserted] = mapClusters.try_emplace(clusterId, cluster_xaod_container->
size());
242 if (insertEntry(clusterId1)){
244 cluster_xaod_container->
push_back(stripCl1);
247 if (insertEntry(clusterId2)) {
249 cluster_xaod_container->
push_back(stripCl2);
255 strip_xaod_container->
back()->setMeasurements( {stripCl1, stripCl2} );
260 linkAcc(*strip_xaod_container->
back()) = link;
266 ATH_CHECK( strip_xaod_handle.
record( std::move(strip_xaod_container), std::move(strip_xaod_aux_container) ) );
268 return StatusCode::SUCCESS;
◆ convertStripOverlap()
Definition at line 272 of file InDetToXAODSpacePointConversion.cxx.
280 if (not stripDetEleHandle.isValid()) {
282 return StatusCode::FAILURE;
284 stripElements = stripDetEleHandle.cptr();
290 const ::SpacePointOverlapCollection* strip_overlap_container = strip_overlap_handle.
cptr();
293 std::unique_ptr< xAOD::SpacePointContainer > strip_overlap_xaod_container = std::make_unique< xAOD::SpacePointContainer >();
294 std::unique_ptr< xAOD::SpacePointAuxContainer > strip_overlap_xaod_aux_container = std::make_unique< xAOD::SpacePointAuxContainer >();
295 strip_overlap_xaod_container->setStore( strip_overlap_xaod_aux_container.get() );
297 strip_overlap_xaod_container->
reserve(strip_overlap_container->size());
298 strip_overlap_xaod_aux_container->
reserve(strip_overlap_container->size());
311 const std::pair<const Trk::PrepRawData*, const Trk::PrepRawData*>& clusterList = sp->clusterList();
314 if (theCluster1 ==
nullptr or
315 theCluster2 ==
nullptr) {
319 auto clusterId1 = clusterList.first->identify();
320 auto clusterId2 = clusterList.second->identify();
324 if ( element1 ==
nullptr ) {
325 ATH_MSG_FATAL(
"Invalid strip detector element for cluster (1) identifiers " << clusterId1 );
326 return StatusCode::FAILURE;
328 if ( element2 ==
nullptr ) {
329 ATH_MSG_FATAL(
"Invalid strip detector element for cluster (2) identifiers " << clusterId2 );
330 return StatusCode::FAILURE;
333 auto insertEntry = [&mapClusters, cluster_xaod_container](
const auto & clusterId)->
bool{
334 const auto & [
p,inserted] = mapClusters.try_emplace(clusterId, cluster_xaod_container->
size());
337 if (insertEntry(clusterId1)) {
339 cluster_xaod_container->
push_back(stripCl1);
342 if (insertEntry(clusterId2)) {
344 cluster_xaod_container->
push_back(stripCl2);
350 strip_overlap_xaod_container->
back()->setMeasurements( {stripCl1, stripCl2} );
354 stripSpacePointLinkAcc( *strip_overlap_xaod_container->
back() ) = TrkLink;
359 ATH_CHECK( strip_overlap_xaod_handle.
record( std::move(strip_overlap_xaod_container), std::move(strip_overlap_xaod_aux_container) ) );
361 return StatusCode::SUCCESS;
◆ declareGaudiProperty() [1/4]
specialization for handling Gaudi::Property<SG::VarHandleKeyArray>
Definition at line 170 of file AthCommonDataStore.h.
175 hndl.documentation());
◆ declareGaudiProperty() [2/4]
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition at line 156 of file AthCommonDataStore.h.
161 hndl.documentation());
◆ declareGaudiProperty() [3/4]
specialization for handling Gaudi::Property<SG::VarHandleBase>
Definition at line 184 of file AthCommonDataStore.h.
189 hndl.documentation());
◆ declareGaudiProperty() [4/4]
◆ declareProperty() [1/6]
Declare a new Gaudi property.
- Parameters
-
| name | Name of the property. |
| hndl | Object holding the property value. |
| doc | Documentation string for the property. |
This is the version for types that derive from SG::VarHandleBase. The property value object is put on the input and output lists as appropriate; then we forward to the base class.
Definition at line 245 of file AthCommonDataStore.h.
250 this->declare(hndl.
vhKey());
251 hndl.
vhKey().setOwner(
this);
◆ declareProperty() [2/6]
Declare a new Gaudi property.
- Parameters
-
| name | Name of the property. |
| hndl | Object holding the property value. |
| doc | Documentation string for the property. |
This is the version for types that derive from SG::VarHandleKey. The property value object is put on the input and output lists as appropriate; then we forward to the base class.
Definition at line 221 of file AthCommonDataStore.h.
◆ declareProperty() [3/6]
◆ declareProperty() [4/6]
Declare a new Gaudi property.
- Parameters
-
| name | Name of the property. |
| property | Object holding the property value. |
| doc | Documentation string for the property. |
This is the generic version, for types that do not derive from SG::VarHandleKey. It just forwards to the base class version of declareProperty.
Definition at line 333 of file AthCommonDataStore.h.
◆ declareProperty() [5/6]
Declare a new Gaudi property.
- Parameters
-
| name | Name of the property. |
| property | Object holding the property value. |
| doc | Documentation string for the property. |
This dispatches to either the generic declareProperty or the one for VarHandle/Key/KeyArray.
Definition at line 352 of file AthCommonDataStore.h.
◆ declareProperty() [6/6]
◆ detStore()
◆ evtStore() [1/2]
◆ evtStore() [2/2]
◆ execute()
| StatusCode InDet::InDetToXAODSpacePointConversion::execute |
( |
const EventContext & |
ctx | ) |
const |
|
overridevirtual |
Definition at line 50 of file InDetToXAODSpacePointConversion.cxx.
60 std::unique_ptr< xAOD::PixelClusterContainer > pixel_cluster_xaod_container = std::make_unique< xAOD::PixelClusterContainer >();
61 std::unique_ptr< xAOD::PixelClusterAuxContainer > pixel_cluster_xaod_aux_container = std::make_unique< xAOD::PixelClusterAuxContainer >();
62 pixel_cluster_xaod_container->setStore( pixel_cluster_xaod_aux_container.get() );
64 std::unique_ptr< xAOD::StripClusterContainer > strip_cluster_xaod_container = std::make_unique< xAOD::StripClusterContainer >();
65 std::unique_ptr< xAOD::StripClusterAuxContainer > strip_cluster_xaod_aux_container = std::make_unique< xAOD::StripClusterAuxContainer >();
66 strip_cluster_xaod_container->setStore( strip_cluster_xaod_aux_container.get() );
74 std::unordered_map<Identifier, std::size_t> mapClusters{};
76 strip_cluster_xaod_container.get(),
79 strip_cluster_xaod_container.get(),
87 ATH_CHECK( pixel_cluster_xaod_handle.
record( std::move(pixel_cluster_xaod_container),
88 std::move(pixel_cluster_xaod_aux_container) ) );
93 ATH_CHECK( strip_cluster_xaod_handle.
record( std::move(strip_cluster_xaod_container),
94 std::move(strip_cluster_xaod_aux_container) ) );
98 return StatusCode::SUCCESS;
◆ extraDeps_update_handler()
Add StoreName to extra input/output deps as needed.
use the logic of the VarHandleKey to parse the DataObjID keys supplied via the ExtraInputs and ExtraOuputs Properties to add the StoreName if it's not explicitly given
◆ extraOutputDeps()
Return the list of extra output dependencies.
This list is extended to include symlinks implied by inheritance relations.
Definition at line 94 of file AthCommonReentrantAlgorithm.cxx.
◆ filterPassed()
◆ initialize()
| StatusCode InDet::InDetToXAODSpacePointConversion::initialize |
( |
| ) |
|
|
overridevirtual |
◆ inputHandles()
Return this algorithm's input handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
◆ isClonable()
◆ msg() [1/2]
◆ msg() [2/2]
◆ msgLvl()
◆ outputHandles()
Return this algorithm's output handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
◆ renounce()
◆ renounceArray()
◆ setFilterPassed()
◆ sysExecute()
Execute an algorithm.
We override this in order to work around an issue with the Algorithm base class storing the event context in a member variable that can cause crashes in MT jobs.
Definition at line 85 of file AthCommonReentrantAlgorithm.cxx.
◆ sysInitialize()
Override sysInitialize.
Override sysInitialize from the base class.
Loop through all output handles, and if they're WriteCondHandles, automatically register them and this Algorithm with the CondSvc
Scan through all outputHandles, and if they're WriteCondHandles, register them with the CondSvc
Reimplemented from AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >.
Reimplemented in InputMakerBase, and HypoBase.
Definition at line 61 of file AthCommonReentrantAlgorithm.cxx.
110 if (
sc.isFailure()) {
118 if ( cs.retrieve().isFailure() ) {
120 return StatusCode::SUCCESS;
122 if (cs->regHandle(
this,*
h).isFailure()) {
123 sc = StatusCode::FAILURE;
124 ATH_MSG_ERROR(
"unable to register WriteCondHandle " <<
h->fullKey()
◆ sysStart()
Handle START transition.
We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.
◆ updateVHKA()
◆ m_beamSpotKey
◆ m_convertClusters
| Gaudi::Property<bool> InDet::InDetToXAODSpacePointConversion::m_convertClusters {this, "ConvertClusters", false} |
|
private |
◆ m_detStore
◆ m_evtStore
◆ m_extendedExtraObjects
Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks.
Empty if no symlinks were found.
Definition at line 114 of file AthCommonReentrantAlgorithm.h.
◆ m_inSpacepointsOverlap
Initial value:{this, "InputStripOverlapSpacePointsName", "ITkOverlapSpacePoints",
"Input Strip overlap space points container"}
Definition at line 64 of file InDetToXAODSpacePointConversion.h.
◆ m_inSpacepointsPixel
Initial value:{this, "InputPixelSpacePointsName", "ITkPixelSpacePoints",
"Input Pixel space points container"}
Definition at line 60 of file InDetToXAODSpacePointConversion.h.
◆ m_inSpacepointsStrip
Initial value:{this, "InputStripSpacePointsName", "ITkStripSpacePoints",
"Input Strip space points container"}
Definition at line 62 of file InDetToXAODSpacePointConversion.h.
◆ m_outClustersPixel
◆ m_outClustersStrip
◆ m_outSpacepointsOverlap
Initial value:{this, "OutputStripOverlapSpacePointsName", "ITkStripOverlapSpacePoints",
"Output Strip Overlap space points container"}
Definition at line 76 of file InDetToXAODSpacePointConversion.h.
◆ m_outSpacepointsPixel
Initial value:{this, "OutputPixelSpacePointsName", "ITkPixelSpacePoints",
"Output Pixel space points container"}
Definition at line 72 of file InDetToXAODSpacePointConversion.h.
◆ m_outSpacepointsStrip
Initial value:{this, "OutputStripSpacePointsName", "ITkStripSpacePoints",
"Output Strip space points container"}
Definition at line 74 of file InDetToXAODSpacePointConversion.h.
◆ m_pixelDetEleCollKey
◆ m_pixelID
| const PixelID* InDet::InDetToXAODSpacePointConversion::m_pixelID {nullptr} |
|
private |
◆ m_processPixel
| Gaudi::Property<bool> InDet::InDetToXAODSpacePointConversion::m_processPixel {this, "ProcessPixel", true} |
|
private |
◆ m_processStrip
| Gaudi::Property<bool> InDet::InDetToXAODSpacePointConversion::m_processStrip {this, "ProcessStrip", true} |
|
private |
◆ m_stripDetEleCollKey
◆ m_stripID
| const SCT_ID* InDet::InDetToXAODSpacePointConversion::m_stripID {nullptr} |
|
private |
◆ m_varHandleArraysDeclared
◆ m_vhka
The documentation for this class was generated from the following files:
void reserve(size_type n)
Attempt to preallocate enough memory for a specified number of elements.
SG::ReadCondHandleKey< InDet::BeamSpotData > m_beamSpotKey
def retrieve(aClass, aKey=None)
StatusCode convertPixel(const EventContext &ctx, xAOD::PixelClusterContainer *cluster_xaod_container) const
Gaudi::Property< bool > m_processStrip
StatusCode convertInDetToXaodCluster(const InDet::PixelCluster &indetCluster, const InDetDD::SiDetectorElement &element, xAOD::PixelCluster &xaodCluster)
SG::WriteHandleKey< xAOD::SpacePointContainer > m_outSpacepointsStrip
const_pointer_type cptr()
Dereference the pointer.
SG::WriteHandleKey< xAOD::PixelClusterContainer > m_outClustersPixel
Helper class to provide type-safe access to aux data.
@ VIEW_ELEMENTS
this data object is a view, it does not own its elmts
SG::ReadHandleKey< ::SpacePointContainer > m_inSpacepointsStrip
SG::ReadHandleKey< ::SpacePointContainer > m_inSpacepointsPixel
std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > renounce(T &h)
@ ALWAYS_TRACK_INDICES
Always track indices, regardless of the setting of the ownership policy.
const PixelID * m_pixelID
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
StatusCode convertStripOverlap(const EventContext &ctx, const Amg::Vector3D &vertex, xAOD::StripClusterContainer *cluster_xaod_container, std::unordered_map< Identifier, std::size_t > &mapClusters) const
StatusCode convertTrkToXaodPixelSpacePoint(const InDet::PixelSpacePoint &trkSpacePoint, xAOD::SpacePoint &xaodSpacePoint)
Identifier wafer_id(int barrel_ec, int layer_disk, int phi_module, int eta_module) const
For a single crystal.
size_type push_new(size_type n, F alloc)
Create and add a number of new elements to the end of the container.
const ServiceHandle< StoreGateSvc > & detStore() const
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
virtual void setOwner(IDataHandleHolder *o)=0
An algorithm that can be simultaneously executed in multiple threads.
SG::ReadCondHandle< T > makeHandle(const SG::ReadCondHandleKey< T > &key, const EventContext &ctx=Gaudi::Hive::currentContext())
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
StatusCode convertStrip(const EventContext &ctx, const Amg::Vector3D &vertex, xAOD::StripClusterContainer *cluster_xaod_container, std::unordered_map< Identifier, std::size_t > &mapClusters) const
virtual const DataObjIDColl & extraOutputDeps() const override
Return the list of extra output dependencies.
StripCluster_v1 StripCluster
Define the version of the strip cluster class.
virtual void reserve(size_t size) override
Reserve a given size for the arrays.
SG::WriteHandleKey< xAOD::SpacePointContainer > m_outSpacepointsPixel
IdentifierHash wafer_hash(Identifier wafer_id) const
wafer hash from id
virtual std::vector< Gaudi::DataHandle * > outputHandles() const override
Return this algorithm's output handles.
SG::WriteHandleKey< xAOD::SpacePointContainer > m_outSpacepointsOverlap
PixelCluster_v1 PixelCluster
Define the version of the pixel cluster class.
SG::WriteHandleKey< xAOD::StripClusterContainer > m_outClustersStrip
::StatusCode StatusCode
StatusCode definition for legacy code.
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)
virtual StatusCode sysExecute(const EventContext &ctx) override
Execute an algorithm.
IdentifierHash wafer_hash(const Identifier &wafer_id) const
wafer hash from id - optimized
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
void setMeasurements(std::vector< const xAOD::UncalibratedMeasurement * > &&value)
Sets the index of the measurements.
const T * back() const
Access the last element in the collection as an rvalue.
Gaudi::Property< bool > m_convertClusters
virtual bool isValid() override final
Can the handle be successfully dereferenced?
virtual void renounce()=0
StatusCode convertTrkToXaodStripSpacePoint(const InDet::SCT_SpacePoint &trkSpacePoint, const Amg::Vector3D &vertex, xAOD::SpacePoint &xaodSpacePoint)
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
ElementLink implementation for ROOT usage.
value_type push_back(value_type pElem)
Add an element to the end of the collection.
StatusCode initialize(bool used=true)
SpacePointContainer_v1 SpacePointContainer
Define the version of the space point container.
StatusCode record(std::unique_ptr< T > data)
Record a const object to the store.
SG::ReadHandleKey< ::SpacePointOverlapCollection > m_inSpacepointsOverlap
#define ATH_MSG_WARNING(x)
a typed memory pool that saves time spent allocation small object. This is typically used by containe...
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
virtual StatusCode sysInitialize() override
Override sysInitialize.
AthConfigFlags beamSpot(AthConfigFlags flags, str instanceName, str recoMode)
SG::ReadCondHandleKey< InDetDD::SiDetectorElementCollection > m_pixelDetEleCollKey
const T * at(size_type n) const
Access an element, as an rvalue.
Identifier wafer_id(int barrel_ec, int layer_disk, int phi_module, int eta_module, int side) const
For a single side of module.
Gaudi::Property< bool > m_processPixel
DataObjIDColl m_extendedExtraObjects
Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks.
SG::ReadCondHandleKey< InDetDD::SiDetectorElementCollection > m_stripDetEleCollKey
size_type size() const noexcept
Returns the number of elements in the collection.
const SiDetectorElement * getDetectorElement(const IdentifierHash &hash) const
const_pointer_type cptr()