Algorithm execute once per event.
52{
53
55
56
57
58
59
60
64
67
68
71 for (const IAthenaPoolTestData* elt : *col) {
73 AthenaPoolTestA
data(i+1, i+2);
75 test1 = elt->printWhoYouAre();
77 if (test1 != test2) {
78 ATH_MSG_ERROR(
"Incorrect data: in/out " << test1 <<
" " << test2 );
80 }
82 }
83
84
85
86
88
91 for (const IAthenaPoolTestData* elt : *col) {
93 AthenaPoolTestB
data(i+11, i+12);
95 test1 = elt->printWhoYouAre();
97 if (test1 != test2) {
98 ATH_MSG_ERROR(
"Incorrect data: in/out " << test1 <<
" " << test2 );
100 }
102 }
103
104
105
106
108
111 for (const IAthenaPoolTestData* elt : *col) {
113 if (i < 3) {
114 AthenaPoolTestA
data(i+21, i+22);
116 test1 = elt->printWhoYouAre();
118 if (test1 != test2) {
119 ATH_MSG_ERROR(
"Incorrect data: in/out " << test1 <<
" " << test2 );
121 }
122 }
123 else {
124 AthenaPoolTestB
data(i+21, i+22);
126 test1 = elt->printWhoYouAre();
128 if (test1 != test2) {
129 ATH_MSG_ERROR(
"Incorrect data: in/out " << test1 <<
" " << test2 );
131 }
132 }
134 }
135
136
137
138
140
143 for (const IAthenaPoolTestData* elt : *col) {
145 AthenaPoolTestC
data(0, 0, i+3, i+4);
147 test1 = elt->printWhoYouAre();
149 if (test1 != test2) {
150 ATH_MSG_ERROR(
"Incorrect data: in/out " << test1 <<
" " << test2 );
152 }
154 }
155
156
157
158
160
163 for (const IAthenaPoolTestData* elt : *col) {
165 AthenaPoolTestD
data(0, 0, i+13, i+14, i+15, i+16);
167 test1 = elt->printWhoYouAre();
169 if (test1 != test2) {
170 ATH_MSG_ERROR(
"Incorrect data: in/out " << test1 <<
" " << test2 );
172 }
174 }
175
176
177
178
179
180
181 bool readMatrix = true;
182 if (readMatrix) {
183 const AthenaPoolTestMatrix*
matrix =
nullptr;
184 for (
int i = 0;
i < 3; ++
i ) {
186 stream <<
"AthenaPoolTestMatrix_" <<
i;
190
191 const HepGeom::Point3D<double>& point =
matrix->point();
192 const HepGeom::Point3D<double>& point1 =
matrix->point1();
194 << point.x() << " "
195 << point.y() << " "
196 << point.z() << " "
197 << ", x,y,z "
198 << point1.x() << " "
199 << point1.y() << " "
200 << point1.z() << " ");
201 const CLHEP::HepMatrix& smallMatrix =
matrix->smallMatrix();
202 ATH_MSG_DEBUG(
" Small matrix : ( " << smallMatrix.num_row() <<
", " << smallMatrix.num_col() <<
" ) " );
205 for (
int i = 0;
i < smallMatrix.num_row(); ++
i) {
206 for (int j = 0; j < smallMatrix.num_col(); ++ j) {
207 stream << smallMatrix[
i][j] <<
", ";
208 }
209 }
211
212 const CLHEP::HepMatrix& bigMatrix =
matrix->bigMatrix();
213 ATH_MSG_DEBUG(
" Big matrix : ( " << bigMatrix.num_row() <<
", " << bigMatrix.num_col() <<
" ) " );
216 for (
int i = 0;
i < bigMatrix.num_row(); ++
i) {
217 for (int j = 0; j < bigMatrix.num_col(); ++ j) {
218 stream << bigMatrix[
i][j] <<
", ";
219 }
220 }
223 for (
int ii = 0; ii <
matrix->numberOfMatrices(); ++ii ) {
224 const CLHEP::HepMatrix& matrx =
matrix->matrix( ii );
225 ATH_MSG_DEBUG(
" ( " << matrx.num_row() <<
", " << matrx.num_col() <<
" ) " );
228 for (
int i = 0;
i < matrx.num_row(); ++
i) {
229 for (int j = 0; j < matrx.num_col(); ++ j) {
231 }
232 }
234 }
235
236
238
240 std::map<unsigned int, CLHEP::HepMatrix>& mp0 = mats[0];
241 std::map<unsigned int, CLHEP::HepMatrix>& mp1 = mats[1];
242 std::map<unsigned int, CLHEP::HepMatrix>::const_iterator itmp = mp0.begin();
244 << (*itmp).second.num_row() << ", " << (*itmp).second.num_col() );
245 ++itmp;
247 << (*itmp).second.num_row() << ", " << (*itmp).second.num_col() );
248 itmp = mp1.begin();
250 << (*itmp).second.num_row() << ", " << (*itmp).second.num_col() );
251 ++itmp;
253 << (*itmp).second.num_row() << ", " << (*itmp).second.num_col() );
254
255
257 const HepGeom::Transform3D& trans =
matrix->trans();
271
272 }
273 }
274
275
276
277
278
279 bool readMap = true;
280 const AthenaPoolTestMap* tmapPtr;
283 readMap = false;
284 }
285 else {
287 }
288
289 if (readMap) {
290
291 const AthenaPoolTestMap& tmap = *tmapPtr;
292
294 typedef std::vector<deposit_t> deposit_vec;
295
296 deposit_vec deposits;
297
298
299
300
301 AthenaPoolTestMap::const_iterator itm = tmap.begin();
302 AthenaPoolTestMap::const_iterator endm = tmap.end();
303 for (; itm != endm; ++itm) {
304
306 stream <<
"AthenaPoolTestMap: key " << (*itm).first
307 << " word " << (*itm).second.word()
308 << " Deposits: (barCode, evtIndx, wgt) ";
309
310 deposits.clear();
311 (*itm).second.deposits(deposits);
312 for (
unsigned int i = 0;
i < deposits.size(); ++
i) {
313 AthenaPoolTestMapDataLink& link = deposits[
i].first;
316 << deposits[
i].second <<
" ";
317 }
319 }
320 }
321
322
323
324
325 const dummy_A* dummyA;
328 }
329 else {
331 }
332 const std::vector<dummy_B>&
b = dummyA->
dummy();
334 for (
unsigned int i = 0;
i <
b.size(); ++
i) {
335 const std::vector<dummy_C>&
c =
b[
i].dummy();
337 for (
unsigned int j = 0; j <
c.size(); ++j) {
339 }
340 }
341
342
343
344 const dummy_E* dummyE;
346 const std::vector<const dummy_D*>&
d = dummyE->
dummy();
348 for (
unsigned int i = 0;
i <
d.size(); ++
i) {
350 }
351
352
353
354
355
360 <<
evt->event_ID()->event_number() <<
":"
361 <<
evt->event_ID()->time_stamp() <<
"] " );
363 {
365 stream <<
"Event type: user type "
366 <<
evt->event_type()->user_type();
367 for (
unsigned int i = 0;
i <
evt->event_type()->n_mc_event_weights (); ++
i)
368 stream<<
" weight " << i <<
": " <<
evt->event_type()->mc_event_weight(i);
370 }
371
372
374 <<
evt->actualInteractionsPerCrossing() <<
" and ave: "
375 <<
evt->averageInteractionsPerCrossing() );
376
377
380 << MSG::hex <<
evt->eventFlags(EventInfo::EventFlagSubDet(i)) << MSG::dec );
382 if (error == EventInfo::NotSet)
384 else if (error == EventInfo::Warning)
385 ATH_MSG_DEBUG(
"Subdet: " << i <<
" error state: Warning " );
386 else if (error == EventInfo::Error)
388 }
389
390
391
396 << pevt->
event_ID()->run_number() <<
","
397 << pevt->
event_ID()->event_number() <<
":"
398 << pevt->
event_ID()->time_stamp() <<
"] " );
402
403 {
408 << " lvl1Info ";
409 for (
unsigned int i = 0;
i < pevt->
trigger_info()->level1TriggerInfo().size(); ++
i) {
411 }
413 for (
unsigned int i = 0;
i < pevt->
trigger_info()->level2TriggerInfo().size(); ++
i) {
415 }
416 stream <<
"EventFilterInfo ";
417 for (
unsigned int i = 0;
i < pevt->
trigger_info()->eventFilterInfo().size(); ++
i) {
419 }
420 stream <<
"EventFilterInfo ";
421 for (
unsigned int i = 0;
i < pevt->
trigger_info()->streamTags().size(); ++
i) {
425 }
427 }
428
429
433 if (it == end) {
435 }
439 << (*it).time() << " " << (*it).index() );
440 if (sevt) {
442 << sevt->
event_ID()->run_number() <<
","
443 << sevt->
event_ID()->event_number() <<
":"
444 << sevt->
event_ID()->time_stamp() <<
"] " );
448 <<
it->time() <<
" " <<
it->index() );
449 }
450 else {
452 }
453 }
454
455 if (error) return (StatusCode::FAILURE);
456
457 return StatusCode::SUCCESS;
458}
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_VERBOSE(x)
Athena::TPCnvVers::Old Athena::TPCnvVers::Current Athena::TPCnvVers::Old Athena::TPCnvVers::Old PileUpEventInfo
char data[hepevt_bytes_allocation_ATLAS]
DataVector< IAthenaPoolTestData > IAthenaPoolTestCollection
ServiceHandle< StoreGateSvc > & evtStore()
index_type eventIndex() const
std::pair< AthenaPoolTestMapDataLink, float > Deposit
std::vector< std::map< unsigned int, CLHEP::HepMatrix > > matrixMaps_t
EventID * event_ID()
the unique identification of the event.
TriggerInfo * trigger_info()
trigger information (ptr may be NULL)
EventType * event_type()
the type of the event, e.g. simulation, testbeam, etc
std::string user_type(void) const
Access to user type.
SubEvent::iterator endSubEvt()
SubEvent::iterator beginSubEvt()
number_type level1TriggerType() const
get level1 trigger type
const std::vector< number_type > & eventFilterInfo() const
get event filter trigger info
number_type extendedLevel1ID() const
get extended level1 ID
number_type statusElement() const
get status element
const std::vector< number_type > & level1TriggerInfo() const
get level1 trigger info
const std::vector< StreamTag > & streamTags() const
get stream tags
const std::vector< number_type > & level2TriggerInfo() const
get level2 trigger info
const std::vector< dummy_B > & dummy() const
const std::vector< const dummy_D * > & dummy() const
retrieve(aClass, aKey=None)
EventInfo_v1 EventInfo
Definition of the latest event info version.
std::list< SubEvent >::const_iterator const_iterator