ATLAS Offline Software
ToObj2MultiAssociationTool.h
Go to the documentation of this file.
1 // This file's extension implies that it's C, but it's really -*- C++ -*-.
2 
3 /*
4  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
5 */
6 
7 // $Id$
16 #ifndef D3PDMAKERTEST_TOOBJ2MULTIASSOCIATIONTOOL_H
17 #define D3PDMAKERTEST_TOOBJ2MULTIASSOCIATIONTOOL_H
18 
19 
21 #include "D3PDMakerTest/Obj1.h"
22 
23 
24 namespace D3PDTest {
25 
26 
27 class Obj1;
28 class Obj2;
29 
30 
35  : public D3PD::MultiAssociationTool<D3PD::Types<Obj1, Obj2>, Obj2>
36 {
37 public:
39 
40 
47  ToObj2MultiAssociationTool (const std::string& type,
48  const std::string& name,
49  const IInterface* parent);
50 
51 
56  virtual StatusCode reset (const Obj1& p);
57 
58 
63  virtual StatusCode reset (const Obj2& p);
64 
65 
71  virtual const Obj2* next ();
72 
73 
74 private:
75  int m_which;
76 
77  std::vector<Obj2>::const_iterator m_it;
78  std::vector<Obj2>::const_iterator m_end;
79 
80  std::vector<Obj2> m_tmpvec;
81 };
82 
83 
84 } // namespace D3PDTest
85 
86 
87 
88 #endif // not D3PDMAKERTEST_TOOBJ2MULTIASSOCIATIONTOOL_H
D3PDTest::ToObj2MultiAssociationTool::Base
D3PD::MultiAssociationTool< D3PD::Types< Obj1, Obj2 >, Obj2 > Base
Definition: ToObj2MultiAssociationTool.h:38
MultiAssociationTool.h
Type-safe wrapper for multiple-target associator tools.
D3PDTest::ToObj2MultiAssociationTool
Test code: associate from an Obj1 to a set of Obj2.
Definition: ToObj2MultiAssociationTool.h:36
D3PDTest::Obj1
Test class for D3PD maker.
Definition: Obj1.h:38
D3PDTest::ToObj2MultiAssociationTool::ToObj2MultiAssociationTool
ToObj2MultiAssociationTool(const std::string &type, const std::string &name, const IInterface *parent)
Standard Gaudi tool constructor.
Definition: ToObj2MultiAssociationTool.cxx:27
D3PD::MultiAssociationTool
Type-safe wrapper for multiple-target associator tools.
Definition: MultiAssociationTool.h:153
D3PDTest::ToObj2MultiAssociationTool::next
virtual const Obj2 * next()
Return a pointer to the next element in the association.
Definition: ToObj2MultiAssociationTool.cxx:73
D3PDTest::ToObj2MultiAssociationTool::m_it
std::vector< Obj2 >::const_iterator m_it
Definition: ToObj2MultiAssociationTool.h:77
D3PDTest::ToObj2MultiAssociationTool::m_end
std::vector< Obj2 >::const_iterator m_end
Definition: ToObj2MultiAssociationTool.h:78
D3PDTest::ToObj2MultiAssociationTool::m_tmpvec
std::vector< Obj2 > m_tmpvec
Definition: ToObj2MultiAssociationTool.h:80
D3PDTest::ToObj2MultiAssociationTool::m_which
int m_which
Definition: ToObj2MultiAssociationTool.h:75
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:210
D3PDTest::ToObj2MultiAssociationTool::reset
virtual StatusCode reset(const Obj1 &p)
Start the iteration for a new association.
Definition: ToObj2MultiAssociationTool.cxx:40
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
test_pyathena.parent
parent
Definition: test_pyathena.py:15
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
Obj1.h
Test class for D3PD maker.
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
D3PDTest
Definition: MapDumper.h:25
D3PDTest::Obj2
Test class for D3PD maker.
Definition: Obj2.h:28