The Gaudi Framework  v30r3 (a5ef0a68)
CallgrindProfile.h
Go to the documentation of this file.
1 #ifndef VALGRIND_CALLGRINDPROFILE_H
2 #define VALGRIND_CALLGRINDPROFILE_H 1
3 
4 // Include files
5 // from Gaudi
7 
16 {
17 public:
19 
20  StatusCode execute() override;
21  StatusCode finalize() override;
22 
23 private:
24  Gaudi::Property<int> m_nStartFromEvent{this, "StartFromEventN", 1, "After what event we start profiling."};
26  this, "StopAtEventN", 0,
27  "After what event we stop profiling. If 0 than we also profile finalization stage. Default = 0."};
29  this, "DumpAtEventN", 0,
30  "After what event we stop profiling. If 0 than we also profile finalization stage. Default = 0."};
32  this, "ZeroAtEventN", 0,
33  "After what event we stop profiling. If 0 than we also profile finalization stage. Default = 0."};
34  Gaudi::Property<std::string> m_dumpName{this, "DumpName", "", "Label for the callgrind dump"};
35 
36  int m_eventNumber = 0; // Current event number
37  bool m_profiling = false; // Whether valgrind is profiling or not
38  bool m_dumpDone = false; // Whether the counters were dumped
39 };
40 #endif // VALGRIND_CALLGRINDPROFILE_H
Implementation of property with value of concrete type.
Definition: Property.h:381
Gaudi::Property< int > m_nDumpAtEvent
Gaudi::Property< int > m_nStartFromEvent
Gaudi::Property< std::string > m_dumpName
Gaudi::Property< int > m_nZeroAtEvent
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:51
Algorithm(const std::string &name, ISvcLocator *svcloc, const std::string &version=PACKAGE_VERSION)
Constructor.
Definition: Algorithm.cpp:51
StatusCode execute() override
Algorithm execution.
Base class from which all concrete algorithm classes should be derived.
Definition: Algorithm.h:78
StatusCode finalize() override
Algorithm finalization.
Algorithm to enable/disable the profiling by Callgrind at given events.
Gaudi::Property< int > m_nStopAtEvent