Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-05 08:16:20

0001 #ifndef PHOOL_PHNODEOPERATION_H
0002 #define PHOOL_PHNODEOPERATION_H
0003 
0004 //  Declaration of class PHNodeOperation
0005 //  Purpose: abstract strategy base class which operates on PHNodes
0006 //  Author: Matthias Messer
0007 
0008 class PHNode;
0009 
0010 class PHNodeOperation
0011 {
0012  public:
0013   PHNodeOperation() = default;
0014 
0015   virtual ~PHNodeOperation() = default;
0016 
0017   void operator()(PHNode& o)
0018   {
0019     perform(&o);
0020   }
0021 
0022   void operator()(PHNode* o)
0023   {
0024     perform(o);
0025   }
0026 
0027   virtual void Verbosity(const int i) { verbosity = i; }
0028   virtual int Verbosity() const { return verbosity; }
0029 
0030  protected:
0031   virtual void perform(PHNode*) = 0;
0032   int verbosity {0};
0033 };
0034 
0035 #endif