ThePEG  1.8.0
Level.h
1 // -*- C++ -*-
2 //
3 // Level.h is a part of ThePEG - Toolkit for HEP Event Generation
4 // Copyright (C) 1999-2011 Leif Lonnblad
5 //
6 // ThePEG is licenced under version 2 of the GPL, see COPYING for details.
7 // Please respect the MCnet academic guidelines, see GUIDELINES for details.
8 //
9 #ifndef ThePEG_Level_H
10 #define ThePEG_Level_H
11 // This is the declaration of the Level class.
12 
13 #include "ThePEG/Config/ThePEG.h"
14 
15 namespace ThePEG {
16 
26 template <typename T = int>
27 class Level {
28 
29 public:
30 
33  Level(T & newLevel) : theLevel(++newLevel) {}
34 
36  ~Level() { --theLevel; }
37 
38 private:
39 
42  T & theLevel;
43 
47  Level();
48 
52  Level(const Level &);
53 
57  Level & operator=(const Level &);
58 
59 };
60 
61 }
62 
63 #endif /* ThePEG_Level_H */