| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

In This Package:

PrescaleRule.h

Go to the documentation of this file.
00001 #ifndef PRESCALERULE_H
00002 #define PRESCALERULE_H
00003 
00010 
00011 #include "Rules.h"
00012 #include "RuleFactory.h"
00013 
00014 namespace RuleParser{
00015 
00019 
00020 
00021 class PrescaleRule : public Rule
00022 {
00023  public:  
00024    PrescaleRule(std::string n, unsigned int interval ) 
00025              : Rule(n), m_interval(interval), m_cycle(0) {};
00026    virtual ~PrescaleRule() {};
00027 
00028    virtual bool select(const Queriable*) 
00029      { 
00030        if( ( (m_cycle++)%m_interval ) ==0) return true;
00031        return false;
00032      };
00033 
00034  private:
00035    unsigned int m_interval;
00036    unsigned int m_cycle;
00037 };
00038 
00042 
00043 
00044 struct PrescaleRuleFactory : public RuleFactory
00045 {
00046   Rule* createRule(const ParameterDescription&, int, int, bool); 
00047 };
00048 
00049 
00050 }
00051 
00052 #endif /* PRESCALERULE_H */
00053 
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Mon Apr 11 20:09:14 2011 for RuleParser by doxygen 1.4.7