ATLAS Offline Software
Loading...
Searching...
No Matches
IEventCnvSuperTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef TRKEVENTCNVTOOLS_IEVENTCNVSUPERTOOL
6#define TRKEVENTCNVTOOLS_IEVENTCNVSUPERTOOL
7
8#include "GaudiKernel/IAlgTool.h"
9
10#include "AthLinks/ElementLink.h"
12
13class Identifier;
14class AtlasDetectorID;
15class TPObjRef;
16
17namespace Trk
18{
19 class ITrkEventCnvTool;
20 class Surface;
21 class RIO_OnTrack;
22
23 static const InterfaceID IID_IIEventCnvSuperTool("Trk::IEventCnvSuperTool", 1, 0);
24
25 class IEventCnvSuperTool : virtual public IAlgTool
26 {
27 public:
29 typedef std::string ELKey_t;
30 typedef unsigned int ELIndex_t;
31
33
35
36 virtual const Trk::ITrkEventCnvTool* getCnvTool(const Identifier& id) const =0;
37
39 virtual const Trk::Surface* getSurface(const Identifier& id) const =0;
40
42 virtual void recreateRIO_OnTrack( RIO_OnTrack *RoT ) const =0;
43
45 virtual void prepareRIO_OnTrack( RIO_OnTrack* Rot) const = 0;
46
48 virtual void prepareRIO_OnTrackLink( const RIO_OnTrack* Rot,
49 ELKey_t& key,
50 ELIndex_t& index ) const = 0;
51
53 template <class CONT, class ROT> bool getHashAndIndex(const ROT* rot,
54 const SG::ReadHandleKey<CONT>& contName,
55 typename ElementLink<CONT>::index_type& hashAndIndex) const;
56
58 virtual bool canHandleInDet() const =0;
59
61 virtual bool canHandleMuonSpectrometer() const =0;
62
64 virtual bool noGeometry() const =0;
65
67 virtual int maxNumberOfErrors() const =0;
68
70 virtual bool doTrackOverlay() const=0;
71
72 };
73}
74
76
77#endif
Property holding a SG store/key/clid from which a ReadHandle is made.
This class provides an interface to generate or decode an identifier for the upper levels of the dete...
Property holding a SG store/key/clid from which a ReadHandle is made.
This class is an object reference used in Athena persistent data model.
Definition TPObjRef.h:20
virtual bool canHandleMuonSpectrometer() const =0
returns false if e.g.
std::string ELKey_t
Key and index types used for an EL to IdentifiableContainer.
virtual bool canHandleInDet() const =0
returns false if e.g.
virtual const Trk::Surface * getSurface(const Identifier &id) const =0
From passed Identifier.
virtual void prepareRIO_OnTrackLink(const RIO_OnTrack *Rot, ELKey_t &key, ELIndex_t &index) const =0
Take the passed RoT and return the EL components to write to disc.
virtual int maxNumberOfErrors() const =0
Maximum number of permitted errors.
virtual void prepareRIO_OnTrack(RIO_OnTrack *Rot) const =0
Take the passed RoT and prepare the PRD ElementLink for writing to disc.
virtual bool noGeometry() const =0
returns true if e.g.
virtual void recreateRIO_OnTrack(RIO_OnTrack *RoT) const =0
Take the passed RoT and recreate it (i.e.
virtual const Trk::ITrkEventCnvTool * getCnvTool(const Identifier &id) const =0
DeclareInterfaceID(IEventCnvSuperTool, 1, 0)
bool getHashAndIndex(const ROT *rot, const SG::ReadHandleKey< CONT > &contName, typename ElementLink< CONT >::index_type &hashAndIndex) const
This templated method will return the hashAndIndex of the passed RIO_OnTrack.
virtual bool doTrackOverlay() const =0
Track overlay flag.
Class to handle RIO On Tracks ROT) for InDet and Muons, it inherits from the common MeasurementBase.
Definition RIO_OnTrack.h:70
Abstract Base Class for tracking surfaces.
Ensure that the ATLAS eigen extensions are properly loaded.
static const InterfaceID IID_IIEventCnvSuperTool("Trk::IEventCnvSuperTool", 1, 0)
Definition index.py:1