00001 00003 #ifndef _Q_COPATTERN_HH_ 00004 #define _Q_COPATTERN_HH_ 00005 00006 #include "QInterval.hh" 00007 #include <list> 00008 #include <string> 00009 00010 class QCoincidence; 00011 class QCoincidentEvent; 00012 00021 class QCoElementPattern 00022 { 00023 public: 00024 int fChannel; 00025 Cuore::QInterval fEnergy; 00026 00027 QCoElementPattern (int ch, Cuore::QInterval ener); 00028 virtual ~QCoElementPattern (); 00029 00035 bool Fulfill(QCoincidentEvent &input); 00036 00040 std::string Dump(); 00041 }; 00042 00043 class QCoPattern 00044 { 00045 public: 00046 Cuore::QInterval fEnergy; 00047 Cuore::QInterval fMult; 00048 std::list<QCoElementPattern> fElementPatterns; 00049 00050 QCoPattern (); 00051 QCoPattern (Cuore::QInterval ener, Cuore::QInterval mult); 00052 virtual ~QCoPattern (); 00053 00054 void AddElementPattern(QCoElementPattern elem); 00055 00061 bool Fulfill(QCoincidence &input); 00062 00070 bool Apply(QCoincidence &input, QCoincidence &rest); 00071 00075 std::string Dump(); 00076 }; 00077 00078 #endif