ATLAS Offline Software
Public Types | Public Member Functions | Private Attributes | List of all members
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. More...
 
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 More...
 
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. More...
 
template<class CONT , class ROT >
void prepareRIO_OnTrackElementLink (ROT *rot) const
 This templated method will set the EL for the passed RIO_OnTrack. More...
 
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. More...
 
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. More...
 
virtual void prepareRIO_OnTrack (Trk::RIO_OnTrack *rot) const =0
 Take the passed RoT and prepare the PRD ElementLink for writing to disk. More...
 
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. More...
 
virtual void recreateRIO_OnTrack (Trk::RIO_OnTrack *RoT) const =0
 Take the passed RoT and recreate it (i.e. More...
 
virtual const Trk::TrkDetElementBasegetDetectorElement (const Identifier &id, const IdentifierHash &idHash) const =0
 Returns the detectorElement associated with this Identifier & Hash. More...
 
virtual const Trk::TrkDetElementBasegetDetectorElement (const Identifier &id) const =0
 Returns the detectorElement associated with this Identifier. More...
 
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  }

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  ,
,
 
)

◆ 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:
Trk::ITrkEventCnvTool::m_storeGate
ServiceHandle< StoreGateSvc > m_storeGate
Definition: ITrkEventCnvTool.h:98
Trk::ITrkEventCnvTool::m_msgSvc
ServiceHandle< IMessageSvc > m_msgSvc
Definition: ITrkEventCnvTool.h:99