23#include "AthLinks/ElementLink.h"
39 return StatusCode::SUCCESS;
48 unsigned int count = ctx.eventID().event_number() + 1;
52 auto trig_coll = std::make_unique<DMTest::CVec>();
53 auto trig_store = std::make_unique<DMTest::CTrigAuxContainer>();
54 trig_coll->setStore (trig_store.get());
64 for (
int i=0; i < 8; i++) {
66 C& c = *trig_coll->back();
67 c.setAnInt (
count * 500 + i+1);
68 c.setAFloat (
count * 600 + (
float)i*0.1);
70 anInt2(c) =
count*700 + i+1;
74 CHECK( ctrig.
record (std::move (trig_coll), std::move (trig_store)) );
77 auto gcont = std::make_unique<DMTest::GVec>();
78 auto gstore = std::make_unique<DMTest::GAuxContainer>();
79 gcont->setStore (gstore.get());
81 for (
int i=0; i < 10; i++) {
83 G& g = *gcont->back();
84 g.setAnInt (
count * 700 + i+1);
85 g.setgFloat (
count * 700 + 100 + i+0.5);
86 std::vector<double> v;
87 for (
int j=0; j<i; j++) {
88 v.push_back (
count * 700 + 100*j + i+0.5);
94 CHECK( gvec.
record (std::move (gcont), std::move (gstore)) );
99 return StatusCode::SUCCESS;
107 const EventContext& ctx)
const
109 auto coll = std::make_unique<DMTest::CVecWithData>();
110 auto store = std::make_unique<DMTest::CAuxContainer>();
111 coll->setStore (store.get());
113 coll->meta1 =
count + 1000;
114 for (
int i=0; i < 10; i++) {
116 C& c = *coll->back();
117 c.setAnInt (
count * 200 + i+1);
121 CHECK( cvecWD.
record (std::move (coll), std::move (store)) );
123 return StatusCode::SUCCESS;
#define ATH_CHECK
Evaluate an expression and check for errors.
Hold information about an option setting request.
Class used for testing xAOD data reading/writing.
Class used for testing xAOD data reading/writing.
Test writing a container with metadata.
Class used for testing xAOD data reading/writing.
Class used for testing xAOD data reading/writing.
Helpers for checking error return status codes and reporting errors.
#define CHECK(...)
Evaluate an expression and check for errors.
Test for xAOD auto schema evolution.
Test for xAOD auto schema evolution.
virtual StatusCode initialize() override
Algorithm initialization; called at the beginning of the job.
SG::WriteHandleKey< DMTest::CVec > m_ctrigKey
SG::WriteHandleKey< DMTest::GVec > m_gvecKey
SG::ReadHandleKey< DMTest::CVec > m_cvecKey
StatusCode write_cvec_with_data(unsigned int count, const EventContext &ctx) const
Test writing container with additional data.
SG::WriteHandleKey< DMTest::CVecWithData > m_cvecWDKey
virtual StatusCode execute(const EventContext &ctx) const override
Algorithm event processing.
SG::Accessor< T, ALLOC > Accessor
SG::Decorator< T, ALLOC > Decorator
class to provide type-safe access to aux data.
StatusCode record(std::unique_ptr< T > data)
Record a const object to the store.
int count(std::string s, const std::string ®x)
count how many occurances of a regx are in a string
Test recording ViewVector w/o having CLASS_DEF visible in compilation unit.
Algorithm to test writing xAOD classes with auxiliary data.