ATLAS Offline Software
Loading...
Searching...
No Matches
Database
AthenaRoot
AthenaRootComps
src
RootDataBucketBranch.cxx
Go to the documentation of this file.
1
2
3
/*
4
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
5
*/
6
7
// RootDataBucketBranch.cxx
8
// Implementation file for class RootDataBucketBranch
9
// Author: S.Binet<binet@cern.ch>
11
12
// AthenaRootComps includes
13
#include "
RootDataBucketBranch.h
"
14
15
// STL
16
#include <stdexcept>
17
#include <sstream>
18
19
namespace
Athena
{
20
21
DataBucketBranch::~DataBucketBranch
()
22
{
23
//std::cerr << "::~DBB[" << m_clid << "," << name() << "]\n";
24
}
25
26
void
*
27
DataBucketBranch::cast
(
CLID
clid,
SG::IRegisterTransient
*
/*itr*/
,
28
bool
/*isConst*/
)
29
{
30
// no conversion needed
31
if
(
allowMismatchCLID
|| clid ==
m_clid
) {
32
return
m_ptr
;
33
34
}
else
{
35
std::ostringstream err;
36
err <<
"cannot convert from clid ["
37
<< this->
clID
()
38
<<
"] to requested ["
39
<< clid
40
<<
"]"
;
41
throw
std::runtime_error(err.str());
42
}
43
return
0;
44
}
45
46
void
*
47
DataBucketBranch::cast
(
const
std::type_info&
/*tinfo*/
,
48
SG::IRegisterTransient
*
/*itr*/
,
49
bool
/*isConst*/
)
50
{
51
return
m_ptr
;
52
}
53
54
}
//> namespace Athena
CLID
uint32_t CLID
The Class ID type.
Definition
Event/xAOD/xAODCore/xAODCore/ClassID_traits.h:47
RootDataBucketBranch.h
Athena::DataBucketBranch::clID
virtual const CLID & clID() const override
Definition
RootDataBucketBranch.h:71
Athena::DataBucketBranch::allowMismatchCLID
bool allowMismatchCLID
Definition
RootDataBucketBranch.h:83
Athena::DataBucketBranch::m_clid
CLID m_clid
Definition
RootDataBucketBranch.h:79
Athena::DataBucketBranch::~DataBucketBranch
virtual ~DataBucketBranch() override
Definition
RootDataBucketBranch.cxx:21
Athena::DataBucketBranch::m_ptr
void * m_ptr
Definition
RootDataBucketBranch.h:81
Athena::DataBucketBranch::cast
virtual void * cast(CLID clid, SG::IRegisterTransient *itr, bool isConst=true) override
Return the contents of the DataBucket, converted to type given by clid.
Definition
RootDataBucketBranch.cxx:27
SG::IRegisterTransient
Interface for registering a transient object in t2p map.
Definition
IRegisterTransient.h:28
Athena
Some weak symbol referencing magic... These are declared in AthenaKernel/getMessageSvc....
Definition
AthLegacySequence.h:21
Generated on
for ATLAS Offline Software by
1.14.0