Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:28:08

0001 // -*- C++ -*-
0002 // AID-GENERATED
0003 // =========================================================================
0004 // This class was generated by AID - Abstract Interface Definition          
0005 // DO NOT MODIFY, but use the org.freehep.aid.Aid utility to regenerate it. 
0006 // =========================================================================
0007 #ifndef AIDA_IEVALUATOR_H
0008 #define AIDA_IEVALUATOR_H 1
0009 
0010 //  This file is part of the AIDA library
0011 //  Copyright (C) 2002 by the AIDA team.  All rights reserved.
0012 //  This library is free software and under the terms of the
0013 //  GNU Library General Public License described in the LGPL.txt 
0014 
0015 #include <string>
0016 
0017 namespace AIDA {
0018 
0019 class ITuple;
0020 
0021 /**
0022  * User's level interface of an IEvaluator.
0023  *
0024  * @author The AIDA team (http://aida.freehep.org/)
0025  *
0026  */
0027  
0028 class IEvaluator {
0029 
0030 public: 
0031     /// Destructor.
0032     virtual ~IEvaluator() { /* nop */; }
0033 
0034   /**
0035    * Initialize the IEvaluator and associate it to an ITuple.
0036    * @param tuple The ITuple to which the IEvaluator is sssociated.
0037    * @return false If the IEvaluator and 
0038    *              the ITuple are not compatible.
0039    *
0040    */ 
0041     virtual bool initialize(ITuple & tuple) = 0;
0042 
0043   /**
0044    * Evaluate the IEvaluator from the data in the 
0045    * current row of the ITuple it is associated to.
0046    * @return The current value of the Evaluator.
0047    *
0048    */ 
0049     virtual double evaluateDouble() const = 0;
0050 
0051    /**
0052     * Get the expression that defined the IEvaluator.
0053     * @return The expression.
0054     *
0055     */
0056     virtual std::string expression() const = 0;
0057 }; // class
0058 } // namespace AIDA
0059 #endif /* ifndef AIDA_IEVALUATOR_H */