QCoPattern.hh
Go to the documentation of this file.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) const;
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) const;
00062
00070 bool Apply(QCoincidence &input, QCoincidence &rest);
00071
00075 std::string Dump();
00076 };
00077
00078 #endif