MHeaterFlagByCoincidence.hh

Go to the documentation of this file.
00001 #ifndef _M_HEATERFLAGBYCOINCIDENCE_HH_
00002 #define _M_HEATERFLAGBYCOINCIDENCE_HH_
00003 
00071 #include "MSetHeaterFlag.hh"
00072 #include "QTime.hh"
00073 
00074 #include <list>
00075 #include <set>
00076 
00077 class MHeaterFlagByCoincidence : public MSetHeaterFlag {
00078 
00079     public:
00081         MHeaterFlagByCoincidence(QSequence* s);
00082 
00084         ~MHeaterFlagByCoincidence();
00085 
00087         void Init();
00088 
00090         QEvent* Do(QEvent* ev);
00091 
00093         void Done();
00094     private:
00095 
00096         class EventInfo {
00097 
00098             public:
00099 
00100                 EventInfo() { fChannel = -1; }
00101 
00102                 bool operator<(const EventInfo& ev) const {return (this->fNumber < ev.fNumber);}
00103 
00104                 int fChannel;
00105                 unsigned long long int fTime;
00106                 unsigned int fNumber;
00107                 int fHeaterChannel;
00108                 int fRelative;
00109         };
00110 
00111         class ChannelInfo {
00112             public:
00113                 int fHeaterChan;
00114                 int fRelative;
00115         };
00116         
00118         double fExpectedTimeInterval;
00119 
00121         double fTimeWindow;
00122         
00124         bool fFlagRawEvent;
00125 
00127         std::string fFlagName;
00128 
00130         std::list<EventInfo> fEventQueue;
00131 
00133         std::map<int, ChannelInfo> fRelatedMap;
00134         
00136         std::set<unsigned int> fCoincidentEvents;
00137 
00139         std::map<int, std::set<int> > fBolosOnHeaters;
00140 
00142         std::set<EventInfo> fHeaterEvents;
00143 
00145         std::set<EventInfo> fHeaterEventsTimed;
00146         
00148         std::set<EventInfo> fHeaterEventsTimedMultipleInterval;
00149 
00151         std::map<int, int> fNumberOfHeaterEvents; 
00152 
00154         int fCurrentRun;
00155 
00157         std::string fDetectorSetupFile;
00158 
00159 };
00160 
00161 #endif
00162 

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