29#include "GaudiKernel/MsgStream.h"
62 const std::string& key,
63 const std::string& context)
66 for (
int i=0; i < n; i++)
67 vec->push_back (
new typename VEC::base_value_type (i + istart));
69 return StatusCode::SUCCESS;
74 const std::string& key,
75 const std::string& context)
78 for (
int i = 0; i < 10; i += 3) {
80 vec->m_el.back().toPersistent();
82 for (
int i = 1;
i < 10;
i += 3) {
83 vec->m_el.push_back (ElementLink<BVec> (
"bder", i));
84 vec->m_el.back().toPersistent();
87 return StatusCode::SUCCESS;
91StatusCode remap_test (StoreGateSvc* sg,
int istart, MsgStream& log)
98 for (
int i=0;
i < 10;
i++) {
99 b1->push_back (
new B (i + istart + 100));
100 elv->m_el2.push_back (ElementLink<BVec> (
"b1", i));
102 elv->m_elv2.push_back (ElementLink<BVec> (
"b1", i));
104 elv->m_elv2.push_back (ElementLink<BVec> (*b1, i));
109 for (
int i=0;
i < 10;
i++) {
110 b2->push_back (
new B (i + istart + 200));
111 elv->m_el2.push_back (ElementLink<BVec> (
"b2", i));
112 elv->m_elv2.push_back (ElementLink<BVec> (
"b2", i));
115 elv->m_dl2.push_back (DataLink<BVec> (
"b1"));
116 elv->m_dl2.push_back (DataLink<BVec> (
"b2"));
120 b3->insert (b3->end(), b1->begin(), b1->end());
121 b3->insert (b3->end(), b2->begin(), b2->end());
126 ElementLinkVectorCnv_p1<ElementLinkVector<BVec> > elvcnv;
127 elvcnv.
transToPers (&elv->m_elv2, &elv->m_elv2_p, log);
129 ElementLinkCnv_p3<ElementLink<BVec> > elcnv;
130 elv->m_el2_p.resize (elv->m_el2.size());
131 for (
size_t i=0;
i < elv->m_el2.size();
i++)
132 elcnv.
transToPers (&elv->m_el2[i], &elv->m_el2_p[i], log);
134 DataLinkCnv_p1<DataLink<BVec> > dlcnv;
135 elv->m_dl2_p.resize (elv->m_dl2.size());
136 for (
size_t i=0;
i < elv->m_dl2.size();
i++)
137 dlcnv.
transToPers (&elv->m_dl2[i], &elv->m_dl2_p[i], log);
139 return StatusCode::SUCCESS;
151 const unsigned int i = ctx.eventID().event_number();
154 CHECK( make_vec<BVec> (sg, 10, 0+i,
"bvec", name()) );
155 CHECK( make_vec<BDer> (sg, 10, 100+i,
"bder", name()) );
156 CHECK( make_vec<DVec> (sg, 10, 200+i,
"dvec", name()) );
157 CHECK( make_vec<DDer> (sg, 10, 300+i,
"dder", name()) );
158 CHECK( make_elvec (sg,
"elvec", name()) );
161 return StatusCode::SUCCESS;
std::vector< size_t > vec
Helpers for checking error return status codes and reporting errors.
#define CHECK(...)
Evaluate an expression and check for errors.
#define CHECK_WITH_CONTEXT(...)
Evaluate an expression and check for errors, with an explicitly specified context name.
Algorithm to test writing DataVector data.
This file contains the class definition for the DataLinkCnv_p1 class and DataLinkVectorCnv_p1 class.
Class used for testing the new DataVector inheritance scheme.
Class used for testing the new DataVector inheritance scheme.
Class used for testing the new DataVector inheritance scheme.
Class used for testing new ElementLink.
This file contains the class definition for the ElementLinkCnv_p3 class.
This file contains the class definition for the ElementLinkVectorCnv_p1 class.
ServiceHandle< StoreGateSvc > & evtStore()
An algorithm that can be simultaneously executed in multiple threads.
virtual StatusCode execute(const EventContext &ctx) const override
Algorithm event processing.
DMTestWrite(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
virtual void transToPers(const DLink_t *trans, PersDLink_t *pers, MsgStream &log) const override
void transToPers(const Link_t &trans, PersLink_t &pers, const SG::ThinningCache *cache, MsgStream &log) const
void transToPers(const LinkVect_t &trans, PersLinkVect_t &pers, const SG::ThinningCache *cache, MsgStream &log) const
ElementLink implementation for ROOT usage.
The Athena Transient Store API.
StatusCode record(T *p2BRegistered, const TKEY &key)
Record an object with a key.
void remap(CLID clid, const TKEY &source, const TKEY &target, off_t index_offset)
Declare a remapping.
DataVector< DMTest::B > BVec
A DataVector containing the base class, B.
::StatusCode StatusCode
StatusCode definition for legacy code.
@ VIEW_ELEMENTS
this data object is a view, it does not own its elmts
Base contained class for DataVector tests.