ATLAS Offline Software
PerfMonTestLeakyAlg.h
Go to the documentation of this file.
1 
3 /*
4  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
5 */
6 
7 // PerfMonTestLeakyAlg.h
8 // Header file for class PerfMonTest::LeakyAlg
9 // Author: S.Binet<binet@cern.ch>
11 #ifndef PERFMONTESTS_PERFMONTESTLEAKYALG_H
12 #define PERFMONTESTS_PERFMONTESTLEAKYALG_H
13 
14 // STL includes
15 #include <string>
16 #include <list>
17 #include <vector>
18 
19 
20 // FrameWork includes
22 #include "GaudiKernel/ServiceHandle.h"
23 
24 namespace PerfMonTest {
25 
26 class LeakyAlg : public AthAlgorithm
27 {
28 
30  // Public methods:
32  public:
33 
34  // Copy constructor:
35 
37  LeakyAlg( const std::string& name, ISvcLocator* pSvcLocator );
38 
40  virtual ~LeakyAlg();
41 
42  // Assignment operator:
43  //LeakyAlg &operator=(const LeakyAlg &alg);
44 
45  // Athena algorithm's Hooks
46  virtual StatusCode initialize();
47  virtual StatusCode execute();
48  virtual StatusCode finalize();
49 
50 
52  // Private data:
54  private:
55 
58 
61 
62  struct Leak {
63  std::vector<int> m_data;
64  };
65 
68 
70  std::list<Leak*> m_leaks;
71 };
72 
73 
74 } //> end namespace PerfMonTest
75 
76 #endif //> PERFMONTESTS_PERFMONTESTLEAKYALG_H
PerfMonTest::LeakyAlg::m_leaks
std::list< Leak * > m_leaks
container to hold the leaked objects
Definition: PerfMonTestLeakyAlg.h:70
PerfMonTest::LeakyAlg::m_nbrLeaks
int m_nbrLeaks
nbr of Leak objects
Definition: PerfMonTestLeakyAlg.h:67
AthAlgorithm.h
PerfMonTest::LeakyAlg::finalize
virtual StatusCode finalize()
Definition: PerfMonTestLeakyAlg.cxx:72
PerfMonTest::LeakyAlg::m_leakSize
int m_leakSize
Property to setup the size of the leak.
Definition: PerfMonTestLeakyAlg.h:60
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
PerfMonTest
PerfMonTestPolyVectorAlg.h Example for the memory optimization tutorial.
Definition: Control/PerformanceMonitoring/PerfMonTests/src/Hit.h:7
PerfMonTest::LeakyAlg::Leak::m_data
std::vector< int > m_data
Definition: PerfMonTestLeakyAlg.h:63
AthAlgorithm
Definition: AthAlgorithm.h:47
PerfMonTest::LeakyAlg::initialize
virtual StatusCode initialize()
Definition: PerfMonTestLeakyAlg.cxx:62
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
PerfMonTest::LeakyAlg::Leak
Definition: PerfMonTestLeakyAlg.h:62
PerfMonTest::LeakyAlg
Definition: PerfMonTestLeakyAlg.h:27
PerfMonTest::LeakyAlg::LeakyAlg
LeakyAlg()
Default constructor:
PerfMonTest::LeakyAlg::execute
virtual StatusCode execute()
Definition: PerfMonTestLeakyAlg.cxx:78
PerfMonTest::LeakyAlg::~LeakyAlg
virtual ~LeakyAlg()
Destructor:
Definition: PerfMonTestLeakyAlg.cxx:49