ATLAS Offline Software
Loading...
Searching...
No Matches
Trk::ITrkEventCnvTool Class Referenceabstract

#include <ITrkEventCnvTool.h>

Inheritance diagram for Trk::ITrkEventCnvTool:
Collaboration diagram for Trk::ITrkEventCnvTool:

Public Types

typedef std::string ELKey_t
 Key and index types used for an EL to IdentifiableContainer.
typedef unsigned int ELIndex_t

Public Member Functions

 DeclareInterfaceID (ITrkEventCnvTool, 1, 0)
 ITrkEventCnvTool ()
virtual void checkRoT (const Trk::RIO_OnTrack &rioOnTrack) const =0
 check the passed RIO_OnTrack to make sure it is correctly filled
virtual std::pair< const Trk::TrkDetElementBase *, const Trk::PrepRawData * > getLinks (Trk::RIO_OnTrack &rioOnTrack) const =0
 This method must use the passed RIO_OnTrack to recover pointers The PrepRawData pointer will only be filled if the concrete tools are so set.
template<class CONT, class ROT>
void prepareRIO_OnTrackElementLink (ROT *rot) const
 This templated method will set the EL for the passed RIO_OnTrack.
template<class CONT, class ROT>
void prepareRIO_OnTrackElementLink (const ROT *rot, ELKey_t &key, ELIndex_t &index) const
 This templated method will find EL components for the passed RIO_OnTrack.
template<class CONT, class ROT>
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 void prepareRIO_OnTrack (Trk::RIO_OnTrack *rot) const =0
 Take the passed RoT and prepare the PRD ElementLink for writing to disk.
virtual void prepareRIO_OnTrackLink (const Trk::RIO_OnTrack *rot, ELKey_t &key, ELIndex_t &index) const =0
 Similar, but just return the EL components rather then changing ROT.
virtual void recreateRIO_OnTrack (Trk::RIO_OnTrack *RoT) const =0
 Take the passed RoT and recreate it (i.e.
virtual const Trk::TrkDetElementBasegetDetectorElement (const Identifier &id, const IdentifierHash &idHash) const =0
 Returns the detectorElement associated with this Identifier & Hash.
virtual const Trk::TrkDetElementBasegetDetectorElement (const Identifier &id) const =0
 Returns the detectorElement associated with this Identifier.
virtual void setRoT_Values (std::pair< const Trk::TrkDetElementBase *, const Trk::PrepRawData * > &pair, Trk::RIO_OnTrack *RoT) const

Private Attributes

ServiceHandle< StoreGateSvcm_storeGate
ServiceHandle< IMessageSvc > m_msgSvc

Detailed Description

Definition at line 30 of file ITrkEventCnvTool.h.

Member Typedef Documentation

◆ ELIndex_t

typedef unsigned int Trk::ITrkEventCnvTool::ELIndex_t

Definition at line 35 of file ITrkEventCnvTool.h.

◆ ELKey_t

typedef std::string Trk::ITrkEventCnvTool::ELKey_t

Key and index types used for an EL to IdentifiableContainer.

Definition at line 34 of file ITrkEventCnvTool.h.

Constructor & Destructor Documentation

◆ ITrkEventCnvTool()

Trk::ITrkEventCnvTool::ITrkEventCnvTool ( )
inline

Definition at line 40 of file ITrkEventCnvTool.h.

40 :
41 m_storeGate ( "StoreGateSvc", "ITrkEventCnvTool" ),
42 m_msgSvc ( "MessageSvc", "ITrkEventCnvTool" )
43 {
44// m_log(&(*m_msgSvc), name() );
45 }
ServiceHandle< IMessageSvc > m_msgSvc
ServiceHandle< StoreGateSvc > m_storeGate

Member Function Documentation

◆ checkRoT()

virtual void Trk::ITrkEventCnvTool::checkRoT ( const Trk::RIO_OnTrack & rioOnTrack) const
pure virtual

check the passed RIO_OnTrack to make sure it is correctly filled

◆ DeclareInterfaceID()

Trk::ITrkEventCnvTool::DeclareInterfaceID ( ITrkEventCnvTool ,
1 ,
0  )

◆ getDetectorElement() [1/2]

virtual const Trk::TrkDetElementBase * Trk::ITrkEventCnvTool::getDetectorElement ( const Identifier & id) const
pure virtual

Returns the detectorElement associated with this Identifier.

◆ getDetectorElement() [2/2]

virtual const Trk::TrkDetElementBase * Trk::ITrkEventCnvTool::getDetectorElement ( const Identifier & id,
const IdentifierHash & idHash ) const
pure virtual

Returns the detectorElement associated with this Identifier & Hash.

◆ getHashAndIndex()

template<class CONT, class ROT>
bool Trk::ITrkEventCnvTool::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.

◆ getLinks()

virtual std::pair< const Trk::TrkDetElementBase *, const Trk::PrepRawData * > Trk::ITrkEventCnvTool::getLinks ( Trk::RIO_OnTrack & rioOnTrack) const
pure virtual

This method must use the passed RIO_OnTrack to recover pointers The PrepRawData pointer will only be filled if the concrete tools are so set.

Returns
this is a pair, where the (possibly null) pointers contained represent the missing links from rioOnTrack*
Parameters
[in]rioOnTrackthe RIO_OnTrack which needs recreating. MUST point to a valid object.

◆ prepareRIO_OnTrack()

virtual void Trk::ITrkEventCnvTool::prepareRIO_OnTrack ( Trk::RIO_OnTrack * rot) const
pure virtual

Take the passed RoT and prepare the PRD ElementLink for writing to disk.

The procedure should be:

  • Get DataHandles to all IDC containers in the event
  • See if collection storing the linked PRD is part of the container
  • If so, check that the pointer of the PRD matches that in the container
  • Then set strings and index.
  • If any of the above failed, try the next container.

◆ prepareRIO_OnTrackElementLink() [1/2]

template<class CONT, class ROT>
void Trk::ITrkEventCnvTool::prepareRIO_OnTrackElementLink ( const ROT * rot,
ELKey_t & key,
ELIndex_t & index ) const

This templated method will find EL components for the passed RIO_OnTrack.

◆ prepareRIO_OnTrackElementLink() [2/2]

template<class CONT, class ROT>
void Trk::ITrkEventCnvTool::prepareRIO_OnTrackElementLink ( ROT * rot) const

This templated method will set the EL for the passed RIO_OnTrack.

◆ prepareRIO_OnTrackLink()

virtual void Trk::ITrkEventCnvTool::prepareRIO_OnTrackLink ( const Trk::RIO_OnTrack * rot,
ELKey_t & key,
ELIndex_t & index ) const
pure virtual

Similar, but just return the EL components rather then changing ROT.

◆ recreateRIO_OnTrack()

virtual void Trk::ITrkEventCnvTool::recreateRIO_OnTrack ( Trk::RIO_OnTrack * RoT) const
pure virtual

Take the passed RoT and recreate it (i.e.

fill missing pointers etc)

◆ setRoT_Values()

virtual void Trk::ITrkEventCnvTool::setRoT_Values ( std::pair< const Trk::TrkDetElementBase *, const Trk::PrepRawData * > & pair,
Trk::RIO_OnTrack * RoT ) const
virtual

Member Data Documentation

◆ m_msgSvc

ServiceHandle<IMessageSvc> Trk::ITrkEventCnvTool::m_msgSvc
private

Definition at line 99 of file ITrkEventCnvTool.h.

◆ m_storeGate

ServiceHandle<StoreGateSvc> Trk::ITrkEventCnvTool::m_storeGate
private

Definition at line 98 of file ITrkEventCnvTool.h.


The documentation for this class was generated from the following file: