ATLAS Offline Software
VP1HelperClassBase.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 
7 // //
8 // Header file for class VP1HelperClassBase //
9 // //
10 // Description: Class that VP1 helper classes can derive //
11 // from in order to get proper message() and //
12 // messagedebug() protected methods (for //
13 // consistent output to messagebox/stdout, and //
14 // for making copy/assignment forbidden. Also //
15 // provides system pointer if applicable //
16 // //
17 // Author: Thomas H. Kittelmann (Thomas.Kittelmann@cern.ch) //
18 // Initial version: February 2008 //
19 // //
21 
22 #ifndef VP1HELPERCLASSBASE_H
23 #define VP1HELPERCLASSBASE_H
24 
25 #include "VP1Base/VP1String.h"
26 class IVP1System;
27 
28 class VP1HelperClassBase : public VP1String {
29 public:
30  virtual ~VP1HelperClassBase();
31 
32  static bool verbose() { return s_vp1verbose; } // Returns true if env var VP1_VERBOSE_OUTPUT=1
33 
35 
36  //Both of the following will show up in stdout. The former will also show up in the VP1 gui if m_system!=0.
37  void message(const QString&) const;
38  void messageDebug(const QString&) const;
39  //If verbose() is true, this outputs to stdout:
40  void messageVerbose(const QString&) const;
41 
42  //Overloaded convenience methods, for outputting several lines:
43  void message(const QStringList&, const QString& addtoend = "" ) const;
44  void messageDebug(const QStringList&, const QString& addtoend = "") const;
45  void messageVerbose(const QStringList&, const QString& addtoend = "") const;
46  void message(const QString& addtostart, const QStringList&, const QString& addtoend = "" ) const;
47  void messageDebug(const QString& addtostart, const QStringList&, const QString& addtoend = "") const;
48  void messageVerbose(const QString& addtostart, const QStringList&, const QString& addtoend = "") const;
49 
50  IVP1System * systemBase() const { return m_system; }
51  QString helperClassName() const { return m_helpername; }
52 
53  //Called by the framework at shutdown - cheap mem. leak check (in verbose mode):
54  static void warnUndeletedInstances();
55 
56 protected:
57 
58  VP1HelperClassBase(IVP1System * sys = 0, QString helpername = "");
59  void setHelperClassName(const QString& n) { m_helpername = n; }
60 
61 private:
62 
63  // It is illegal to copy/assign a VP1HelperClassBase:
66 
67  QString m_helpername;
69  static const bool s_vp1verbose;
70 };
71 
72 #endif
VP1String
Definition: VP1String.h:43
VP1String.h
VP1HelperClassBase::m_helpername
QString m_helpername
Definition: VP1HelperClassBase.h:67
VP1HelperClassBase::messageVerbose
void messageVerbose(const QString &) const
Definition: VP1HelperClassBase.cxx:78
VP1HelperClassBase::s_vp1verbose
static const bool s_vp1verbose
Definition: VP1HelperClassBase.h:69
VP1HelperClassBase::verbose
static bool verbose()
Definition: VP1HelperClassBase.h:32
VP1HelperClassBase::m_system
IVP1System * m_system
Definition: VP1HelperClassBase.h:68
VP1HelperClassBase::messageDebug
void messageDebug(const QString &) const
Definition: VP1HelperClassBase.cxx:65
mapkey::sys
@ sys
Definition: TElectronEfficiencyCorrectionTool.cxx:42
VP1HelperClassBase::setHelperClassName
void setHelperClassName(const QString &n)
Definition: VP1HelperClassBase.h:59
IVP1System
Definition: IVP1System.h:36
beamspotman.n
n
Definition: beamspotman.py:731
VP1HelperClassBase::warnUndeletedInstances
static void warnUndeletedInstances()
Definition: VP1HelperClassBase.cxx:183
VP1HelperClassBase::~VP1HelperClassBase
virtual ~VP1HelperClassBase()
Definition: VP1HelperClassBase.cxx:38
VP1HelperClassBase
Definition: VP1HelperClassBase.h:28
VP1HelperClassBase::VP1HelperClassBase
VP1HelperClassBase(const VP1HelperClassBase &)
VP1HelperClassBase::systemBase
IVP1System * systemBase() const
Definition: VP1HelperClassBase.h:50
VP1HelperClassBase::setSystemBasePointer
void setSystemBasePointer(IVP1System *sys)
Definition: VP1HelperClassBase.cxx:197
VP1HelperClassBase::message
void message(const QString &) const
Definition: VP1HelperClassBase.cxx:49
VP1HelperClassBase::VP1HelperClassBase
VP1HelperClassBase(IVP1System *sys=0, QString helpername="")
Definition: VP1HelperClassBase.cxx:28
VP1HelperClassBase::helperClassName
QString helperClassName() const
Definition: VP1HelperClassBase.h:51
VP1HelperClassBase::operator=
VP1HelperClassBase & operator=(const VP1HelperClassBase &)