The Gaudi Framework
v41r0 (bdbe7744)
Toggle main menu visibility
Loading...
Searching...
No Matches
TagCollectionStream.h
Go to the documentation of this file.
1
/***********************************************************************************\
2
* (c) Copyright 1998-2025 CERN for the benefit of the LHCb and ATLAS collaborations *
3
* *
4
* This software is distributed under the terms of the Apache version 2 licence, *
5
* copied verbatim in the file "LICENSE". *
6
* *
7
* In applying this licence, CERN does not waive the privileges and immunities *
8
* granted to it by virtue of its status as an Intergovernmental Organization *
9
* or submit itself to any jurisdiction. *
10
\***********************************************************************************/
11
#pragma once
12
13
// Required for inheritance
14
#include "
OutputStream.h
"
15
#include <
GaudiKernel/NTuple.h
>
16
17
// forward declarations
18
class
GenericAddress
;
19
70
class
TagCollectionStream
:
public
OutputStream
{
71
protected
:
72
Gaudi::Property<std::string>
m_addrLeaf
{
this
,
"AddressLeaf"
,
"/Event"
,
73
"name of the address leaf in the transient event store"
};
74
Gaudi::Property<std::string>
m_addrColName
{
this
,
"AddressColumn"
,
"Address"
,
75
"name of the address column of the tag collection"
};
76
Gaudi::Property<std::string>
m_collSvcName
{
this
,
"TagCollectionSvc"
,
"NTupleSvc"
,
"name of the collection service"
};
77
Gaudi::Property<bool>
m_objectsFirst
{
this
,
"ObjectsFirst"
,
true
,
78
"flag to indicate that the objects should be written first"
};
79
Gaudi::Property<std::string>
m_tagName
{
this
,
"Collection"
,
""
,
"name of the tag collection in the transient store"
};
80
82
INTupleItem
*
m_addrColumn
=
nullptr
;
84
std::string
m_topLeafName
;
86
bool
m_isTopLeaf
=
false
;
88
SmartIF<INTupleSvc>
m_collectionSvc
;
90
std::unique_ptr<GenericAddress>
m_addr
;
92
NTuple::Item<IOpaqueAddress*>
m_item
;
94
StatusCode
writeObjects
()
override
;
96
virtual
StatusCode
connectAddress
();
98
StatusCode
writeData
();
100
StatusCode
writeTuple
();
102
StatusCode
writeRecord
();
103
104
public
:
106
TagCollectionStream
(
const
std::string&
name
,
ISvcLocator
* pSvcLocator );
108
StatusCode
initialize
()
override
;
110
StatusCode
finalize
()
override
;
111
};
NTuple.h
OutputStream.h
Gaudi::Algorithm::name
const std::string & name() const override
The identifying name of the algorithm object.
Definition
Algorithm.cpp:518
Gaudi::Property
Implementation of property with value of concrete type.
Definition
Property.h:35
GenericAddress
Generic Transient Address.
Definition
GenericAddress.h:27
INTupleItem
NTuple interface class definition.
Definition
INTuple.h:32
ISvcLocator
The ISvcLocator is the interface implemented by the Service Factory in the Application Manager to loc...
Definition
ISvcLocator.h:42
NTuple::Item
Class acting as a smart pointer holding a N tuple _Item.
Definition
NTuple.h:251
OutputStream
A small to stream Data I/O.
Definition
OutputStream.h:37
SmartIF
Small smart pointer class with automatic reference counting for IInterface.
Definition
SmartIF.h:28
StatusCode
This class is used for returning status codes from appropriate routines.
Definition
StatusCode.h:64
TagCollectionStream::finalize
StatusCode finalize() override
Terminate TagCollectionStream.
Definition
TagCollectionStream.cpp:100
TagCollectionStream::writeTuple
StatusCode writeTuple()
Write tuple data.
Definition
TagCollectionStream.cpp:108
TagCollectionStream::writeObjects
StatusCode writeObjects() override
OutputStream override: Select the different objects and write them to file.
Definition
TagCollectionStream.cpp:134
TagCollectionStream::writeData
StatusCode writeData()
Write data objects.
Definition
TagCollectionStream.cpp:118
TagCollectionStream::m_addrColName
Gaudi::Property< std::string > m_addrColName
Definition
TagCollectionStream.h:74
TagCollectionStream::writeRecord
StatusCode writeRecord()
Write full event record.
Definition
TagCollectionStream.cpp:128
TagCollectionStream::m_addrLeaf
Gaudi::Property< std::string > m_addrLeaf
Definition
TagCollectionStream.h:72
TagCollectionStream::connectAddress
virtual StatusCode connectAddress()
Connect address column, if not already connected.
Definition
TagCollectionStream.cpp:31
TagCollectionStream::m_addr
std::unique_ptr< GenericAddress > m_addr
Address buffer.
Definition
TagCollectionStream.h:90
TagCollectionStream::m_collectionSvc
SmartIF< INTupleSvc > m_collectionSvc
Keep reference to the tuple service.
Definition
TagCollectionStream.h:88
TagCollectionStream::m_tagName
Gaudi::Property< std::string > m_tagName
Definition
TagCollectionStream.h:79
TagCollectionStream::m_addrColumn
INTupleItem * m_addrColumn
NTuple column to hold the opaque address of the address leaf.
Definition
TagCollectionStream.h:82
TagCollectionStream::TagCollectionStream
TagCollectionStream(const std::string &name, ISvcLocator *pSvcLocator)
Standard algorithm Constructor.
Definition
TagCollectionStream.cpp:27
TagCollectionStream::m_topLeafName
std::string m_topLeafName
Name of the top leaf (performance cache).
Definition
TagCollectionStream.h:84
TagCollectionStream::m_item
NTuple::Item< IOpaqueAddress * > m_item
Address item buffer.
Definition
TagCollectionStream.h:92
TagCollectionStream::m_objectsFirst
Gaudi::Property< bool > m_objectsFirst
Definition
TagCollectionStream.h:77
TagCollectionStream::m_collSvcName
Gaudi::Property< std::string > m_collSvcName
Definition
TagCollectionStream.h:76
TagCollectionStream::initialize
StatusCode initialize() override
Initialize TagCollectionStream.
Definition
TagCollectionStream.cpp:49
TagCollectionStream::m_isTopLeaf
bool m_isTopLeaf
Short cut flag to indicate if the address leaf is the top leaf (performace cache).
Definition
TagCollectionStream.h:86
GaudiCommonSvc
src
PersistencySvc
TagCollectionStream.h
Generated on
for The Gaudi Framework by
1.17.0