MCoincidenceTester.hh

00001 
00002 #ifndef _M_COINCIDENCETESTER_HH_
00003 #define _M_COINCIDENCETESTER_HH_
00004 
00005 #include "QModule.hh"
00006 
00007 class QCoincidenceFiller;
00008 class QCoincidenceFilter;
00009 class QCoincidence;
00010 class QTower;
00011 
00012 namespace Cuore { class QVector; }
00013 
00014 #include <string>
00015 
00113 class MCoincidenceTester: public QModule
00114 {
00115 public:
00117    MCoincidenceTester(QSequence* s);
00118    
00120    ~MCoincidenceTester();
00121    
00123    void Init();
00124    
00126    QEvent* Do(QEvent* ev);
00127    
00129    void Done();
00130 
00131 private:
00132    
00134    QCoincidenceFiller *fFiller;
00135    
00137    std::string fOutList;
00138 
00143    std::string fCoincList;
00144 
00146    std::string fCutFile;
00147 
00149    std::string fTowerFile;
00150 
00152    bool fSkipExecution;
00153 
00155    std::list<QCoincidenceFilter*> fFilters;
00156 
00161    QVector* fEventList;
00162 
00165    bool fMultHisto;
00166    bool fDistanceHisto;    
00167    bool fPositionHisto;
00168    bool fMultTimeGraph;
00169    bool fMultPositionGraph;
00170    bool fMultDurationGraph;
00171    bool fDistanceTimeGraph;
00172    bool fSummaryPlots;
00173    std::string fSummaryFile;
00177    void ProduceSummaryPlots(const std::list<QCoincidence>& coincList) const;
00178 
00180    void DumpEventList(const std::list<QCoincidence>& coincList);
00181 
00192    void DumpCoincidenceList(const std::list<QCoincidence>& coincList,
00193                             const std::string& fileName) const;
00194 
00242    void ReadCutsFile();
00243 
00259    double GetMinimumSumOfDistances(const QCoincidence& coinc,
00260                                    const QTower&       tower) const;
00261 };
00262 
00263 #endif

Generated on Tue Nov 16 10:49:55 2010 for CUORE Software by  doxygen 1.5.6