ATLAS Offline Software
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 
13 class Identifier;
14 class AtlasDetectorID;
15 class TPObjRef;
16 
17 namespace 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
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
Trk::IEventCnvSuperTool::canHandleMuonSpectrometer
virtual bool canHandleMuonSpectrometer() const =0
returns false if e.g.
index
Definition: index.py:1
Trk::IEventCnvSuperTool::ELIndex_t
unsigned int ELIndex_t
Definition: IEventCnvSuperTool.h:30
Trk::IEventCnvSuperTool::getSurface
virtual const Trk::Surface * getSurface(const Identifier &id) const =0
From passed Identifier.
Surface
Definition: Trigger/TrigAccel/TrigCudaFitter/src/Surface.h:8
Trk::IEventCnvSuperTool::noGeometry
virtual bool noGeometry() const =0
returns true if e.g.
Trk::IEventCnvSuperTool::maxNumberOfErrors
virtual int maxNumberOfErrors() const =0
Maximum number of permitted errors.
Trk::IEventCnvSuperTool::canHandleInDet
virtual bool canHandleInDet() const =0
returns false if e.g.
Trk::IEventCnvSuperTool::prepareRIO_OnTrackLink
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.
Trk::RIO_OnTrack
Definition: RIO_OnTrack.h:70
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition: StoreGate/StoreGate/ReadHandleKey.h:39
Trk::IEventCnvSuperTool::recreateRIO_OnTrack
virtual void recreateRIO_OnTrack(RIO_OnTrack *RoT) const =0
Take the passed RoT and recreate it (i.e.
TPObjRef
Definition: TPObjRef.h:20
Trk::IEventCnvSuperTool::ELKey_t
std::string ELKey_t
Key and index types used for an EL to IdentifiableContainer.
Definition: IEventCnvSuperTool.h:29
Trk::IEventCnvSuperTool
Definition: IEventCnvSuperTool.h:26
Trk::ITrkEventCnvTool
Definition: ITrkEventCnvTool.h:31
Trk::IEventCnvSuperTool::doTrackOverlay
virtual bool doTrackOverlay() const =0
Track overlay flag.
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
Trk::IEventCnvSuperTool::IEventCnvSuperTool
IEventCnvSuperTool()
Definition: IEventCnvSuperTool.h:34
Trk::MeasurementBaseType::RIO_OnTrack
@ RIO_OnTrack
Definition: MeasurementBase.h:49
Trk::IEventCnvSuperTool::prepareRIO_OnTrack
virtual void prepareRIO_OnTrack(RIO_OnTrack *Rot) const =0
Take the passed RoT and prepare the PRD ElementLink for writing to disc.
Trk::IEventCnvSuperTool::DeclareInterfaceID
DeclareInterfaceID(IEventCnvSuperTool, 1, 0)
IEventCnvSuperTool.icc
Trk::IEventCnvSuperTool::getCnvTool
virtual const Trk::ITrkEventCnvTool * getCnvTool(const Identifier &id) const =0
Trk::Surface
Definition: Tracking/TrkDetDescr/TrkSurfaces/TrkSurfaces/Surface.h:75
Trk::IEventCnvSuperTool::getHashAndIndex
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.
AtlasDetectorID
This class provides an interface to generate or decode an identifier for the upper levels of the dete...
Definition: AtlasDetectorID.h:57
mapkey::key
key
Definition: TElectronEfficiencyCorrectionTool.cxx:37
Identifier
Definition: IdentifierFieldParser.cxx:14