Pandora
Pandora source code navigator
Loading...
Searching...
No Matches
pandora::XmlFileReader Class Reference

XmlFileReader class. More...

#include "XmlFileReader.h"

Inheritance diagram for pandora::XmlFileReader:
Collaboration diagram for pandora::XmlFileReader:

Public Member Functions

 XmlFileReader (const pandora::Pandora &pandora, const std::string &fileName)
 Constructor.
 
 ~XmlFileReader ()
 Destructor.
 
template<typename T >
StatusCode ReadVariable (const std::string &xmlKey, T &t)
 Read a variable from the file.
 
template<>
StatusCode ReadVariable (const std::string &xmlKey, IntVector &t)
 
template<>
StatusCode ReadVariable (const std::string &xmlKey, FloatVector &t)
 
StatusCode ReadGeometry ()
 Read the current geometry information from the file.
 
StatusCode ReadEvent ()
 Read an entire pandora event from the file, recreating the stored objects.
 
StatusCode GoToNextGeometry ()
 Skip to next geometry container in the file.
 
StatusCode GoToNextEvent ()
 Skip to next event container in the file.
 
const std::string & GetFileName () const
 Get the file name.
 
FileType GetFileType () const
 Get the file type.
 
template<typename PARAMETERS , typename OBJECT >
StatusCode SetFactory (ObjectFactory< PARAMETERS, OBJECT > *const pFactory)
 Set the factory to use for all instantiations and parameter persistence.
 
template<>
void ReplaceCurrentFactory (ObjectFactory< object_creation::CaloHit::Parameters, object_creation::CaloHit::Object > *const pFactory)
 
template<>
void ReplaceCurrentFactory (ObjectFactory< object_creation::Track::Parameters, object_creation::Track::Object > *const pFactory)
 
template<>
void ReplaceCurrentFactory (ObjectFactory< object_creation::MCParticle::Parameters, object_creation::MCParticle::Object > *const pFactory)
 
template<>
void ReplaceCurrentFactory (ObjectFactory< object_creation::Geometry::SubDetector::Parameters, object_creation::Geometry::SubDetector::Object > *const pFactory)
 
template<>
void ReplaceCurrentFactory (ObjectFactory< object_creation::Geometry::LArTPC::Parameters, object_creation::Geometry::LArTPC::Object > *const pFactory)
 
template<>
void ReplaceCurrentFactory (ObjectFactory< object_creation::Geometry::LineGap::Parameters, object_creation::Geometry::LineGap::Object > *const pFactory)
 
template<>
void ReplaceCurrentFactory (ObjectFactory< object_creation::Geometry::BoxGap::Parameters, object_creation::Geometry::BoxGap::Object > *const pFactory)
 
template<>
void ReplaceCurrentFactory (ObjectFactory< object_creation::Geometry::ConcentricGap::Parameters, object_creation::Geometry::ConcentricGap::Object > *const pFactory)
 

Protected Member Functions

template<typename PARAMETERS , typename OBJECT >
void ReplaceCurrentFactory (ObjectFactory< PARAMETERS, OBJECT > *const pFactory)
 Replace the current factory with the provided instance.
 

Protected Attributes

const Pandora *const m_pPandora
 Address of pandora instance to be used alongside the file writer.
 
std::string m_fileName
 The file name.
 
FileType m_fileType
 The file type.
 
ContainerId m_containerId
 The type of container currently being written to file.
 
ObjectFactory< object_creation::CaloHit::Parameters, object_creation::CaloHit::Object > * m_pCaloHitFactory
 Address of the calo hit factory.
 
ObjectFactory< object_creation::Track::Parameters, object_creation::Track::Object > * m_pTrackFactory
 Address of the track factory.
 
ObjectFactory< object_creation::MCParticle::Parameters, object_creation::MCParticle::Object > * m_pMCParticleFactory
 Address of the mc particle factory.
 
ObjectFactory< object_creation::Geometry::SubDetector::Parameters, object_creation::Geometry::SubDetector::Object > * m_pSubDetectorFactory
 Address of the sub detector factory.
 
ObjectFactory< object_creation::Geometry::LArTPC::Parameters, object_creation::Geometry::LArTPC::Object > * m_pLArTPCFactory
 Address of the lar tpc factory.
 
ObjectFactory< object_creation::Geometry::LineGap::Parameters, object_creation::Geometry::LineGap::Object > * m_pLineGapFactory
 Address of the line gap factory.
 
ObjectFactory< object_creation::Geometry::BoxGap::Parameters, object_creation::Geometry::BoxGap::Object > * m_pBoxGapFactory
 Address of the box gap factory.
 
ObjectFactory< object_creation::Geometry::ConcentricGap::Parameters, object_creation::Geometry::ConcentricGap::Object > * m_pConcentricGapFactory
 Address of the concentric gap factory.
 

Private Member Functions

StatusCode ReadHeader ()
 Read the container header from the current position in the file, checking for properly written container.
 
StatusCode GoToNextContainer ()
 Skip to next container in the file.
 
ContainerId GetNextContainerId ()
 Get the id of the next container in the file without changing the current position in the file.
 
StatusCode GoToGeometry (const unsigned int geometryNumber)
 Skip to a specified geometry number in the file.
 
StatusCode GoToEvent (const unsigned int eventNumber)
 Skip to a specified event number in the file.
 
StatusCode ReadNextGeometryComponent ()
 Read the next pandora geometry component from the current position in the file, recreating the stored component.
 
StatusCode ReadNextEventComponent ()
 Read the next pandora event component from the current position in the file, recreating the stored component.
 
StatusCode ReadSubDetector ()
 Read a sub detector from the current position in the file.
 
StatusCode ReadLArTPC ()
 Read a lar tpc from the current position in the file.
 
StatusCode ReadLineGap ()
 Read a line gap from the current position in the file.
 
StatusCode ReadBoxGap ()
 Read a box gap from the current position in the file.
 
StatusCode ReadConcentricGap ()
 Read a concentric gap from the current position in the file.
 
StatusCode ReadCaloHit ()
 Read a calo hit from the current position in the file, recreating the stored object.
 
StatusCode ReadTrack ()
 Read a track from the current position in the file, recreating the stored object.
 
StatusCode ReadMCParticle ()
 Read a mc particle from the current position in the file, recreating the stored object.
 
StatusCode ReadRelationship ()
 Read a relationship from the current position in the file, recreating the stored relationship.
 

Private Attributes

TiXmlDocumentm_pXmlDocument
 The xml document.
 
TiXmlNodem_pContainerXmlNode
 The document xml node.
 
TiXmlElementm_pCurrentXmlElement
 The current xml element.
 
bool m_isAtFileStart
 Whether reader is at file start.
 

Detailed Description

XmlFileReader class.

Definition at line 26 of file XmlFileReader.h.

Constructor & Destructor Documentation

◆ XmlFileReader()

pandora::XmlFileReader::XmlFileReader ( const pandora::Pandora pandora,
const std::string &  fileName 
)

Constructor.

Parameters
pandorathe pandora instance to be used alongside the file reader
fileNamethe name of the file containing the pandora objects

Definition at line 19 of file XmlFileReader.cc.

Here is the call graph for this function:

◆ ~XmlFileReader()

pandora::XmlFileReader::~XmlFileReader ( )

Destructor.

Definition at line 38 of file XmlFileReader.cc.

Member Function Documentation

◆ GetFileName()

const std::string & pandora::Persistency::GetFileName ( ) const
inlineinherited

Get the file name.

Returns
the file name

Definition at line 90 of file Persistency.h.

◆ GetFileType()

FileType pandora::Persistency::GetFileType ( ) const
inlineinherited

Get the file type.

Returns
the file type

Definition at line 97 of file Persistency.h.

Here is the caller graph for this function:

◆ GetNextContainerId()

ContainerId pandora::XmlFileReader::GetNextContainerId ( )
privatevirtual

Get the id of the next container in the file without changing the current position in the file.

Returns
The id of the next container in the file

Implements pandora::FileReader.

Definition at line 82 of file XmlFileReader.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GoToEvent()

StatusCode pandora::XmlFileReader::GoToEvent ( const unsigned int  eventNumber)
privatevirtual

Skip to a specified event number in the file.

Parameters
eventNumberthe event number

Implements pandora::FileReader.

Definition at line 123 of file XmlFileReader.cc.

Here is the call graph for this function:

◆ GoToGeometry()

StatusCode pandora::XmlFileReader::GoToGeometry ( const unsigned int  geometryNumber)
privatevirtual

Skip to a specified geometry number in the file.

Parameters
geometryNumberthe geometry number

Implements pandora::FileReader.

Definition at line 102 of file XmlFileReader.cc.

Here is the call graph for this function:

◆ GoToNextContainer()

StatusCode pandora::XmlFileReader::GoToNextContainer ( )
privatevirtual

Skip to next container in the file.

Implements pandora::FileReader.

Definition at line 58 of file XmlFileReader.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GoToNextEvent()

StatusCode pandora::FileReader::GoToNextEvent ( )
inherited

Skip to next event container in the file.

Definition at line 97 of file FileReader.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GoToNextGeometry()

StatusCode pandora::FileReader::GoToNextGeometry ( )
inherited

Skip to next geometry container in the file.

Definition at line 84 of file FileReader.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ReadBoxGap()

StatusCode pandora::XmlFileReader::ReadBoxGap ( )
private

Read a box gap from the current position in the file.

Definition at line 434 of file XmlFileReader.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ReadCaloHit()

StatusCode pandora::XmlFileReader::ReadCaloHit ( )
private

Read a calo hit from the current position in the file, recreating the stored object.

Definition at line 522 of file XmlFileReader.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ReadConcentricGap()

StatusCode pandora::XmlFileReader::ReadConcentricGap ( )
private

Read a concentric gap from the current position in the file.

Definition at line 472 of file XmlFileReader.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ReadEvent()

StatusCode pandora::FileReader::ReadEvent ( )
inherited

Read an entire pandora event from the file, recreating the stored objects.

Definition at line 58 of file FileReader.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ReadGeometry()

StatusCode pandora::FileReader::ReadGeometry ( )
inherited

Read the current geometry information from the file.

Definition at line 29 of file FileReader.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ReadHeader()

StatusCode pandora::XmlFileReader::ReadHeader ( )
privatevirtual

Read the container header from the current position in the file, checking for properly written container.

Implements pandora::FileReader.

Definition at line 45 of file XmlFileReader.cc.

Here is the call graph for this function:

◆ ReadLArTPC()

StatusCode pandora::XmlFileReader::ReadLArTPC ( )
private

Read a lar tpc from the current position in the file.

Definition at line 320 of file XmlFileReader.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ReadLineGap()

StatusCode pandora::XmlFileReader::ReadLineGap ( )
private

Read a line gap from the current position in the file.

Definition at line 392 of file XmlFileReader.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ReadMCParticle()

StatusCode pandora::XmlFileReader::ReadMCParticle ( )
private

Read a mc particle from the current position in the file, recreating the stored object.

Definition at line 682 of file XmlFileReader.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ReadNextEventComponent()

StatusCode pandora::XmlFileReader::ReadNextEventComponent ( )
privatevirtual

Read the next pandora event component from the current position in the file, recreating the stored component.

Implements pandora::FileReader.

Definition at line 192 of file XmlFileReader.cc.

Here is the call graph for this function:

◆ ReadNextGeometryComponent()

StatusCode pandora::XmlFileReader::ReadNextGeometryComponent ( )
privatevirtual

Read the next pandora geometry component from the current position in the file, recreating the stored component.

Implements pandora::FileReader.

Definition at line 144 of file XmlFileReader.cc.

Here is the call graph for this function:

◆ ReadRelationship()

StatusCode pandora::XmlFileReader::ReadRelationship ( )
private

Read a relationship from the current position in the file, recreating the stored relationship.

Definition at line 730 of file XmlFileReader.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ReadSubDetector()

StatusCode pandora::XmlFileReader::ReadSubDetector ( )
private

Read a sub detector from the current position in the file.

Definition at line 236 of file XmlFileReader.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ReadTrack()

StatusCode pandora::XmlFileReader::ReadTrack ( )
private

Read a track from the current position in the file, recreating the stored object.

Definition at line 611 of file XmlFileReader.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ReadVariable() [1/3]

template<>
StatusCode pandora::XmlFileReader::ReadVariable ( const std::string &  xmlKey,
FloatVector t 
)
inline

Definition at line 131 of file XmlFileReader.h.

Here is the call graph for this function:

◆ ReadVariable() [2/3]

template<>
StatusCode pandora::XmlFileReader::ReadVariable ( const std::string &  xmlKey,
IntVector t 
)
inline

Definition at line 122 of file XmlFileReader.h.

Here is the call graph for this function:

◆ ReadVariable() [3/3]

template<typename T >
StatusCode pandora::XmlFileReader::ReadVariable ( const std::string &  xmlKey,
T &  t 
)
inline

Read a variable from the file.

Parameters
xmlKeythe xml key

Definition at line 113 of file XmlFileReader.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ReplaceCurrentFactory() [1/9]

template<>
void pandora::Persistency::ReplaceCurrentFactory ( ObjectFactory< object_creation::CaloHit::Parameters, object_creation::CaloHit::Object > *const  pFactory)
inherited

Definition at line 61 of file Persistency.cc.

◆ ReplaceCurrentFactory() [2/9]

template<>
void pandora::Persistency::ReplaceCurrentFactory ( ObjectFactory< object_creation::Geometry::BoxGap::Parameters, object_creation::Geometry::BoxGap::Object > *const  pFactory)
inherited

Definition at line 103 of file Persistency.cc.

◆ ReplaceCurrentFactory() [3/9]

template<>
void pandora::Persistency::ReplaceCurrentFactory ( ObjectFactory< object_creation::Geometry::ConcentricGap::Parameters, object_creation::Geometry::ConcentricGap::Object > *const  pFactory)
inherited

Definition at line 110 of file Persistency.cc.

◆ ReplaceCurrentFactory() [4/9]

template<>
void pandora::Persistency::ReplaceCurrentFactory ( ObjectFactory< object_creation::Geometry::LArTPC::Parameters, object_creation::Geometry::LArTPC::Object > *const  pFactory)
inherited

Definition at line 89 of file Persistency.cc.

◆ ReplaceCurrentFactory() [5/9]

template<>
void pandora::Persistency::ReplaceCurrentFactory ( ObjectFactory< object_creation::Geometry::LineGap::Parameters, object_creation::Geometry::LineGap::Object > *const  pFactory)
inherited

Definition at line 96 of file Persistency.cc.

◆ ReplaceCurrentFactory() [6/9]

template<>
void pandora::Persistency::ReplaceCurrentFactory ( ObjectFactory< object_creation::Geometry::SubDetector::Parameters, object_creation::Geometry::SubDetector::Object > *const  pFactory)
inherited

Definition at line 82 of file Persistency.cc.

◆ ReplaceCurrentFactory() [7/9]

template<>
void pandora::Persistency::ReplaceCurrentFactory ( ObjectFactory< object_creation::MCParticle::Parameters, object_creation::MCParticle::Object > *const  pFactory)
inherited

Definition at line 75 of file Persistency.cc.

◆ ReplaceCurrentFactory() [8/9]

template<>
void pandora::Persistency::ReplaceCurrentFactory ( ObjectFactory< object_creation::Track::Parameters, object_creation::Track::Object > *const  pFactory)
inherited

Definition at line 68 of file Persistency.cc.

◆ ReplaceCurrentFactory() [9/9]

template<typename PARAMETERS , typename OBJECT >
void pandora::Persistency::ReplaceCurrentFactory ( ObjectFactory< PARAMETERS, OBJECT > *const  pFactory)
protectedinherited

Replace the current factory with the provided instance.

Parameters
pFactoryaddress of the factory
Here is the caller graph for this function:

◆ SetFactory()

template<typename PARAMETERS , typename OBJECT >
template StatusCode pandora::Persistency::SetFactory ( ObjectFactory< PARAMETERS, OBJECT > *const  pFactory)
inherited

Set the factory to use for all instantiations and parameter persistence.

Parameters
pFactoryaddress of the factory

Definition at line 49 of file Persistency.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ m_containerId

ContainerId pandora::Persistency::m_containerId
protectedinherited

The type of container currently being written to file.

Definition at line 76 of file Persistency.h.

◆ m_fileName

std::string pandora::Persistency::m_fileName
protectedinherited

The file name.

Definition at line 74 of file Persistency.h.

◆ m_fileType

FileType pandora::Persistency::m_fileType
protectedinherited

The file type.

Definition at line 75 of file Persistency.h.

◆ m_isAtFileStart

bool pandora::XmlFileReader::m_isAtFileStart
private

Whether reader is at file start.

Definition at line 107 of file XmlFileReader.h.

◆ m_pBoxGapFactory

Address of the box gap factory.

Definition at line 84 of file Persistency.h.

◆ m_pCaloHitFactory

ObjectFactory<object_creation::CaloHit::Parameters, object_creation::CaloHit::Object>* pandora::Persistency::m_pCaloHitFactory
protectedinherited

Address of the calo hit factory.

Definition at line 78 of file Persistency.h.

◆ m_pConcentricGapFactory

Address of the concentric gap factory.

Definition at line 85 of file Persistency.h.

◆ m_pContainerXmlNode

TiXmlNode* pandora::XmlFileReader::m_pContainerXmlNode
private

The document xml node.

Definition at line 105 of file XmlFileReader.h.

◆ m_pCurrentXmlElement

TiXmlElement* pandora::XmlFileReader::m_pCurrentXmlElement
private

The current xml element.

Definition at line 106 of file XmlFileReader.h.

◆ m_pLArTPCFactory

Address of the lar tpc factory.

Definition at line 82 of file Persistency.h.

◆ m_pLineGapFactory

Address of the line gap factory.

Definition at line 83 of file Persistency.h.

◆ m_pMCParticleFactory

ObjectFactory<object_creation::MCParticle::Parameters, object_creation::MCParticle::Object>* pandora::Persistency::m_pMCParticleFactory
protectedinherited

Address of the mc particle factory.

Definition at line 80 of file Persistency.h.

◆ m_pPandora

const Pandora* const pandora::Persistency::m_pPandora
protectedinherited

Address of pandora instance to be used alongside the file writer.

Definition at line 73 of file Persistency.h.

◆ m_pSubDetectorFactory

Address of the sub detector factory.

Definition at line 81 of file Persistency.h.

◆ m_pTrackFactory

ObjectFactory<object_creation::Track::Parameters, object_creation::Track::Object>* pandora::Persistency::m_pTrackFactory
protectedinherited

Address of the track factory.

Definition at line 79 of file Persistency.h.

◆ m_pXmlDocument

TiXmlDocument* pandora::XmlFileReader::m_pXmlDocument
private

The xml document.

Definition at line 104 of file XmlFileReader.h.


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