ATLAS Offline Software
Loading...
Searching...
No Matches
TBXMLWriterToolBase Class Referenceabstract

base class for XML writer tools for 2004 event display More...

#include <TBXMLWriterToolBase.h>

Inheritance diagram for TBXMLWriterToolBase:
Collaboration diagram for TBXMLWriterToolBase:

Public Member Functions

virtual ~TBXMLWriterToolBase ()
virtual StatusCode initialize () override
virtual StatusCode writeOut (std::ostream &outStream, const std::string &entryTag=" ")
virtual StatusCode finalize () override
virtual StatusCode finalize (std::ostream &outStream)
ServiceHandle< StoreGateSvc > & evtStore ()
 The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
const ServiceHandle< StoreGateSvc > & detStore () const
 The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
virtual StatusCode sysInitialize () override
 Perform system initialization for an algorithm.
virtual StatusCode sysStart () override
 Handle START transition.
virtual std::vector< Gaudi::DataHandle * > inputHandles () const override
 Return this algorithm's input handles.
virtual std::vector< Gaudi::DataHandle * > outputHandles () const override
 Return this algorithm's output handles.
Gaudi::Details::PropertyBase & declareProperty (Gaudi::Property< T, V, H > &t)
void updateVHKA (Gaudi::Details::PropertyBase &)
MsgStream & msg () const
bool msgLvl (const MSG::Level lvl) const

Protected Member Functions

 TBXMLWriterToolBase (const std::string &type, const std::string &name, const IInterface *parent)
virtual StatusCode writeRunFiles (const std::string &fileDir, unsigned int runNumber)=0
virtual StatusCode writeEvent (std::ostream &theFile, const std::string &entryTag)=0
virtual void openDictionary (std::ostream &outStream, const std::string &dictName, const std::vector< std::string > &listOfElements)
virtual void openDictionary (std::ostream &outStream, const std::string &dictName)
virtual void closeDictionary (std::ostream &outStream)
virtual void addDictElement (std::ostream &outStream, const std::string &theElement, const std::vector< std::string > &listOfElements)
virtual void addAttributes (std::ostream &outStream, const std::string &theElement, const std::vector< std::string > &listOfAttributes)
virtual void openElement (std::ostream &outStream, const std::string &theElement, const std::vector< std::string > &listOfAttr, const std::vector< std::string > &listOfValues)
virtual void closeElement (std::ostream &outStream, const std::string &theElement)
virtual void closeElement (std::ostream &outStream)
virtual void closeAllElements (std::ostream &outStream)
void renounceArray (SG::VarHandleKeyArray &handlesArray)
 remove all handles from I/O resolution
std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > renounce (T &h)
void extraDeps_update_handler (Gaudi::Details::PropertyBase &ExtraDeps)
 Add StoreName to extra input/output deps as needed.

Protected Attributes

std::vector< std::string > m_elementList
std::string m_dictionary

Static Protected Attributes

static const std::string m_doubleQuote = "\042"

Private Types

typedef ServiceHandle< StoreGateSvcStoreGateSvc_t

Private Member Functions

Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
 specialization for handling Gaudi::Property<SG::VarHandleKey>

Private Attributes

StoreGateSvc_t m_evtStore
 Pointer to StoreGate (event store by default)
StoreGateSvc_t m_detStore
 Pointer to StoreGate (detector store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
bool m_varHandleArraysDeclared

Detailed Description

base class for XML writer tools for 2004 event display

Definition at line 16 of file TBXMLWriterToolBase.h.

Member Typedef Documentation

◆ StoreGateSvc_t

typedef ServiceHandle<StoreGateSvc> AthCommonDataStore< AthCommonMsg< AlgTool > >::StoreGateSvc_t
privateinherited

Definition at line 388 of file AthCommonDataStore.h.

Constructor & Destructor Documentation

◆ TBXMLWriterToolBase()

TBXMLWriterToolBase::TBXMLWriterToolBase ( const std::string & type,
const std::string & name,
const IInterface * parent )
inlineprotected

Definition at line 24 of file TBXMLWriterToolBase.h.

26 : AthAlgTool( type, name, parent )
27 { }
AthAlgTool()
Default constructor:

◆ ~TBXMLWriterToolBase()

virtual TBXMLWriterToolBase::~TBXMLWriterToolBase ( )
inlinevirtual

Definition at line 31 of file TBXMLWriterToolBase.h.

32 { }

Member Function Documentation

◆ addAttributes()

void TBXMLWriterToolBase::addAttributes ( std::ostream & outStream,
const std::string & theElement,
const std::vector< std::string > & listOfAttributes )
protectedvirtual

Definition at line 93 of file TBXMLWriterToolBase.cxx.

97{
98 outStream << " <!ATTLIST " << theElement << std::endl;
99 for ( unsigned int i=0; i<listOfAttr.size(); i++ )
100 {
101 outStream << " " << listOfAttr[i] << std::endl;
102 }
103 outStream << ">" << std::endl;
104}

◆ addDictElement()

void TBXMLWriterToolBase::addDictElement ( std::ostream & outStream,
const std::string & theElement,
const std::vector< std::string > & listOfElements )
protectedvirtual

Definition at line 59 of file TBXMLWriterToolBase.cxx.

63{
64 outStream << "<!ELEMENT " << theElement;
65 // add document as element
66 if ( listOfElements.size() == 0 )
67 {
68 outStream << ">" << std::endl;
69 }
70 else
71 {
72 // store elements
73 if ( listOfElements[0] == "ANY" ||
74 listOfElements[0] == "EMPTY" ||
75 listOfElements[0] == "ALL" )
76 {
77 outStream << " " << listOfElements[0] << " >" << std::endl;
78 }
79 else
80 {
81 outStream << " (" << listOfElements[0];
82 for ( unsigned int i=1; i<listOfElements.size(); i++ )
83 {
84 outStream << "," << listOfElements[i];
85 }
86 outStream << ") >" << std::endl;
87 }
88 }
89}

◆ closeAllElements()

void TBXMLWriterToolBase::closeAllElements ( std::ostream & outStream)
protectedvirtual

Definition at line 161 of file TBXMLWriterToolBase.cxx.

162{
163 for ( int i=m_elementList.size()-1; i>=0; i-- )
164 {
165 outStream << "</" << m_elementList[i] << ">" << std::endl;
166 }
167 m_elementList.clear();
168}
std::vector< std::string > m_elementList

◆ closeDictionary()

void TBXMLWriterToolBase::closeDictionary ( std::ostream & outStream)
protectedvirtual

Definition at line 52 of file TBXMLWriterToolBase.cxx.

53{
54 outStream << "]>" << std::endl;
55}

◆ closeElement() [1/2]

void TBXMLWriterToolBase::closeElement ( std::ostream & outStream)
protectedvirtual

Definition at line 132 of file TBXMLWriterToolBase.cxx.

133{
134 unsigned int thisSize = m_elementList.size() - 1;
135 outStream << "</" << m_elementList[thisSize] << ">" << std::endl;
136 m_elementList.resize(thisSize);
137}

◆ closeElement() [2/2]

void TBXMLWriterToolBase::closeElement ( std::ostream & outStream,
const std::string & theElement )
protectedvirtual

Definition at line 141 of file TBXMLWriterToolBase.cxx.

143{
144 std::vector<std::string>::iterator inVec =
145 find( m_elementList.begin(), m_elementList.end(), theElement);
146 if ( inVec != m_elementList.end() )
147 {
148 outStream << "</" << (*inVec) << ">" << std::endl;
149 m_elementList.erase(inVec);
150 }
151 else
152 {
153 outStream << "<!-- XML Structural Problem! \n\n"
154 << " cannot find an element " << theElement << "!\n\n"
155 << "-->" << std::endl;
156 }
157}
std::string find(const std::string &s)
return a remapped string
Definition hcg.cxx:138

◆ declareGaudiProperty()

Gaudi::Details::PropertyBase & AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T, V, H > & hndl,
const SG::VarHandleKeyType &  )
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleKey>

Definition at line 156 of file AthCommonDataStore.h.

158 {
160 hndl.value(),
161 hndl.documentation());
162
163 }
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)

◆ declareProperty()

Gaudi::Details::PropertyBase & AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( Gaudi::Property< T, V, H > & t)
inlineinherited

Definition at line 145 of file AthCommonDataStore.h.

145 {
146 typedef typename SG::HandleClassifier<T>::type htype;
148 }
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>

◆ detStore()

const ServiceHandle< StoreGateSvc > & AthCommonDataStore< AthCommonMsg< AlgTool > >::detStore ( ) const
inlineinherited

The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 95 of file AthCommonDataStore.h.

◆ evtStore()

ServiceHandle< StoreGateSvc > & AthCommonDataStore< AthCommonMsg< AlgTool > >::evtStore ( )
inlineinherited

The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 85 of file AthCommonDataStore.h.

◆ extraDeps_update_handler()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::extraDeps_update_handler ( Gaudi::Details::PropertyBase & ExtraDeps)
protectedinherited

Add StoreName to extra input/output deps as needed.

use the logic of the VarHandleKey to parse the DataObjID keys supplied via the ExtraInputs and ExtraOuputs Properties to add the StoreName if it's not explicitly given

◆ finalize() [1/2]

virtual StatusCode TBXMLWriterToolBase::finalize ( )
inlineoverridevirtual

Definition at line 51 of file TBXMLWriterToolBase.h.

52 {
53 return StatusCode::SUCCESS;
54 }

◆ finalize() [2/2]

virtual StatusCode TBXMLWriterToolBase::finalize ( std::ostream & outStream)
inlinevirtual

Definition at line 56 of file TBXMLWriterToolBase.h.

57 {
58 this->closeAllElements(outStream);
59 return this->finalize();
60 }
virtual void closeAllElements(std::ostream &outStream)
virtual StatusCode finalize() override

◆ initialize()

virtual StatusCode TBXMLWriterToolBase::initialize ( )
inlineoverridevirtual

Reimplemented in TBXMLCaloCellWriterTool.

Definition at line 35 of file TBXMLWriterToolBase.h.

36 {
37 return StatusCode::SUCCESS;
38 }

◆ inputHandles()

virtual std::vector< Gaudi::DataHandle * > AthCommonDataStore< AthCommonMsg< AlgTool > >::inputHandles ( ) const
overridevirtualinherited

Return this algorithm's input handles.

We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.

◆ msg()

MsgStream & AthCommonMsg< AlgTool >::msg ( ) const
inlineinherited

Definition at line 24 of file AthCommonMsg.h.

24 {
25 return this->msgStream();
26 }

◆ msgLvl()

bool AthCommonMsg< AlgTool >::msgLvl ( const MSG::Level lvl) const
inlineinherited

Definition at line 30 of file AthCommonMsg.h.

30 {
31 return this->msgLevel(lvl);
32 }

◆ openDictionary() [1/2]

void TBXMLWriterToolBase::openDictionary ( std::ostream & outStream,
const std::string & dictName )
protectedvirtual

Definition at line 43 of file TBXMLWriterToolBase.cxx.

45{
46 std::vector<std::string> emptyList;
47 this->openDictionary(outStream,dictName, emptyList);
48}
virtual void openDictionary(std::ostream &outStream, const std::string &dictName, const std::vector< std::string > &listOfElements)

◆ openDictionary() [2/2]

void TBXMLWriterToolBase::openDictionary ( std::ostream & outStream,
const std::string & dictName,
const std::vector< std::string > & listOfElements )
protectedvirtual

Definition at line 20 of file TBXMLWriterToolBase.cxx.

24{
25 // clean up
26 m_elementList.clear();
27 m_dictionary = dictName;
28
29 // write header
30 outStream << "<?XML version=" << m_doubleQuote
31 << "1" << m_doubleQuote << "?>" << std::endl;
32
33 // write begin of dictionary
34 outStream << "<!DOCTYPE " << dictName
35 << " [" << std::endl;
36
37 // add doctype as element
38 this->addDictElement(outStream,dictName,listOfElements);
39}
virtual void addDictElement(std::ostream &outStream, const std::string &theElement, const std::vector< std::string > &listOfElements)
static const std::string m_doubleQuote

◆ openElement()

void TBXMLWriterToolBase::openElement ( std::ostream & outStream,
const std::string & theElement,
const std::vector< std::string > & listOfAttr,
const std::vector< std::string > & listOfValues )
protectedvirtual

Definition at line 108 of file TBXMLWriterToolBase.cxx.

114{
115 m_elementList.push_back(theElement);
116 outStream << "<" << theElement;
117 if ( listOfAttr.size() > 0 && listOfValues.size() == listOfAttr.size() )
118 {
119 for ( unsigned int i=0; i<listOfAttr.size(); i++ )
120 {
121 outStream << " " << listOfAttr[i] << "="
122 << m_doubleQuote
123 << listOfValues[i]
124 << m_doubleQuote;
125 }
126 }
127 outStream << ">" << std::endl;
128}

◆ outputHandles()

virtual std::vector< Gaudi::DataHandle * > AthCommonDataStore< AthCommonMsg< AlgTool > >::outputHandles ( ) const
overridevirtualinherited

Return this algorithm's output handles.

We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.

◆ renounce()

std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > AthCommonDataStore< AthCommonMsg< AlgTool > >::renounce ( T & h)
inlineprotectedinherited

Definition at line 380 of file AthCommonDataStore.h.

381 {
382 h.renounce();
384 }
std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > renounce(T &h)

◆ renounceArray()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::renounceArray ( SG::VarHandleKeyArray & handlesArray)
inlineprotectedinherited

remove all handles from I/O resolution

Definition at line 364 of file AthCommonDataStore.h.

364 {
366 }

◆ sysInitialize()

virtual StatusCode AthCommonDataStore< AthCommonMsg< AlgTool > >::sysInitialize ( )
overridevirtualinherited

Perform system initialization for an algorithm.

We override this to declare all the elements of handle key arrays at the end of initialization. See comments on updateVHKA.

Reimplemented in asg::AsgMetadataTool, AthCheckedComponent< AthAlgTool >, AthCheckedComponent<::AthAlgTool >, and DerivationFramework::CfAthAlgTool.

◆ sysStart()

virtual StatusCode AthCommonDataStore< AthCommonMsg< AlgTool > >::sysStart ( )
overridevirtualinherited

Handle START transition.

We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.

◆ updateVHKA()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::updateVHKA ( Gaudi::Details::PropertyBase & )
inlineinherited

Definition at line 308 of file AthCommonDataStore.h.

308 {
309 // debug() << "updateVHKA for property " << p.name() << " " << p.toString()
310 // << " size: " << m_vhka.size() << endmsg;
311 for (auto &a : m_vhka) {
313 for (auto k : keys) {
314 k->setOwner(this);
315 }
316 }
317 }
std::vector< SG::VarHandleKeyArray * > m_vhka

◆ writeEvent()

virtual StatusCode TBXMLWriterToolBase::writeEvent ( std::ostream & theFile,
const std::string & entryTag )
protectedpure virtual

◆ writeOut()

virtual StatusCode TBXMLWriterToolBase::writeOut ( std::ostream & outStream,
const std::string & entryTag = " " )
inlinevirtual

Definition at line 45 of file TBXMLWriterToolBase.h.

47 {
48 return this->writeEvent(outStream,entryTag);
49 }
virtual StatusCode writeEvent(std::ostream &theFile, const std::string &entryTag)=0

◆ writeRunFiles()

virtual StatusCode TBXMLWriterToolBase::writeRunFiles ( const std::string & fileDir,
unsigned int runNumber )
protectedpure virtual

Member Data Documentation

◆ m_detStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< AlgTool > >::m_detStore
privateinherited

Pointer to StoreGate (detector store by default)

Definition at line 393 of file AthCommonDataStore.h.

◆ m_dictionary

std::string TBXMLWriterToolBase::m_dictionary
protected

Definition at line 107 of file TBXMLWriterToolBase.h.

◆ m_doubleQuote

const std::string TBXMLWriterToolBase::m_doubleQuote = "\042"
staticprotected

Definition at line 109 of file TBXMLWriterToolBase.h.

◆ m_elementList

std::vector<std::string> TBXMLWriterToolBase::m_elementList
protected

Definition at line 106 of file TBXMLWriterToolBase.h.

◆ m_evtStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< AlgTool > >::m_evtStore
privateinherited

Pointer to StoreGate (event store by default)

Definition at line 390 of file AthCommonDataStore.h.

◆ m_varHandleArraysDeclared

bool AthCommonDataStore< AthCommonMsg< AlgTool > >::m_varHandleArraysDeclared
privateinherited

Definition at line 399 of file AthCommonDataStore.h.

◆ m_vhka

std::vector<SG::VarHandleKeyArray*> AthCommonDataStore< AthCommonMsg< AlgTool > >::m_vhka
privateinherited

Definition at line 398 of file AthCommonDataStore.h.


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