ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Database
APR
RootStorageSvc
src
RootTreeIndexContainer.h
Go to the documentation of this file.
1
/*
2
* Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3
* */
4
5
#ifndef POOL_ROOTTREEINDEXCONTAINER_H
6
#define POOL_ROOTTREEINDEXCONTAINER_H 1
7
8
#include "
RootTreeContainer.h
"
9
10
#include <cstdint>
11
12
// Forward declarations
13
class
StatusCode
;
14
class
TTree;
15
class
TBranch;
16
17
namespace
pool
{
33
34
class
RootTreeIndexContainer
:
public
RootTreeContainer
{
35
public
:
36
explicit
RootTreeIndexContainer
(
const
std::string&
name
);
37
RootTreeIndexContainer
(
const
RootTreeIndexContainer
&) =
delete
;
38
RootTreeIndexContainer
&
operator=
(
const
RootTreeIndexContainer
&) =
delete
;
39
40
virtual
~RootTreeIndexContainer
()
override
{}
41
43
virtual
StatusCode
open
(
DbDatabase
&,
const
std::string&,
const
DbTypeInfo
*, Io::IoFlag)
override
final
;
44
46
virtual
uint64_t
nextRecordId
() override final;
47
49
virtual
void
useNextRecordId
( uint64_t ) override final;
50
52
58
virtual StatusCode
loadObject
(
void
** ptr,
ShapeH
shape,
59
Token
::OID_t& oid) override;
60
62
virtual StatusCode
writeObject
(
ActionList
::value_type&) override;
63
64
private
:
66
TBranch*
m_indexBranch
;
67
68
uint64_t
m_index_entries
;
69
71
const
uint32_t
m_index_multi
;
72
74
Long64_t
m_index
;
75
77
int64_t
m_indexBump
;
78
80
bool
m_firstRead
;
81
};
82
}
83
#endif
//POOL_ROOTTREEINDEXCONTAINER_H
RootTreeContainer.h
Token
This class provides a token that identifies in a unique way objects on the persistent storage.
Definition
Token.h:22
pool::DbContainerImp::name
virtual std::string name() const override
Get container name.
Definition
DbContainerImp.h:90
pool::DbContainerImp::ActionList
std::vector< DbAction > ActionList
Definition
DbContainerImp.h:64
pool::DbDatabase
Description: Handle managing a DbDatabaseObj, a generic Database object.
Definition
DbDatabase.h:54
pool::DbTypeInfo
Definition of class DbTypeInfo.
Definition
DbTypeInfo.h:49
pool::RootTreeContainer::RootTreeContainer
RootTreeContainer(const std::string &name)
pool::RootTreeIndexContainer::m_firstRead
bool m_firstRead
first object retrieval attempt flag (to rebuild index)
Definition
RootTreeIndexContainer.h:80
pool::RootTreeIndexContainer::open
virtual StatusCode open(DbDatabase &, const std::string &, const DbTypeInfo *, Io::IoFlag) override final
Open the container.
pool::RootTreeIndexContainer::loadObject
virtual StatusCode loadObject(void **ptr, ShapeH shape, Token::OID_t &oid) override
Find object by object identifier and load it into memory.
pool::RootTreeIndexContainer::m_index_entries
uint64_t m_index_entries
Definition
RootTreeIndexContainer.h:68
pool::RootTreeIndexContainer::m_indexBranch
TBranch * m_indexBranch
Pointer to index branch.
Definition
RootTreeIndexContainer.h:66
pool::RootTreeIndexContainer::m_index
Long64_t m_index
Index (64 bit) - using ROOT type that matches the earlier 'long long'.
Definition
RootTreeIndexContainer.h:74
pool::RootTreeIndexContainer::~RootTreeIndexContainer
virtual ~RootTreeIndexContainer() override
Definition
RootTreeIndexContainer.h:40
pool::RootTreeIndexContainer::RootTreeIndexContainer
RootTreeIndexContainer(const std::string &name)
pool::RootTreeIndexContainer::RootTreeIndexContainer
RootTreeIndexContainer(const RootTreeIndexContainer &)=delete
pool::RootTreeIndexContainer::writeObject
virtual StatusCode writeObject(ActionList::value_type &) override
Commit single entry to container.
pool::RootTreeIndexContainer::m_index_multi
const uint32_t m_index_multi
Index multiplier (e.g. pid - ppid), fill in c'tor.
Definition
RootTreeIndexContainer.h:71
pool::RootTreeIndexContainer::nextRecordId
virtual uint64_t nextRecordId() override final
Number of entries within the container.
pool::RootTreeIndexContainer::operator=
RootTreeIndexContainer & operator=(const RootTreeIndexContainer &)=delete
pool::RootTreeIndexContainer::m_indexBump
int64_t m_indexBump
How much to increase nextRecordID to keep index values synced with other containers.
Definition
RootTreeIndexContainer.h:77
pool::RootTreeIndexContainer::useNextRecordId
virtual void useNextRecordId(uint64_t) override final
Suggest next Record ID for tbe next object written - for synced indexes.
const
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition
PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
pool
Framework include files.
Definition
libname.h:15
pool::ShapeH
const class Shape * ShapeH
Definition
DbContainerObj.h:26
private
#define private
Definition
testRead.cxx:27
Generated on
for ATLAS Offline Software by
1.17.0