MOT.hh

00001 #ifndef _M_OT_HH_
00002 #define _M_OT_HH_
00003 
00039 #include "QModule.hh"
00040 #include <map>
00041 #include <vector>
00042 #include "QVector.hh"
00043 #include "QOTFilter.hh"
00044 #include "QOTTrigger.hh"
00045 #include "QOTTwins.hh"
00046 
00047 class MOT : public QModule {
00048 
00049 public:
00051   MOT(QSequence* s);
00052 
00054   ~MOT();
00055 
00057   void Init();
00058 
00060   QEvent* Do(QEvent* ev);
00061 
00063   void Done();
00064 private:
00065 
00066   void InitSingleChannel(const int chan);
00067   struct SingleChannelInfo {
00068     QOTFilter OTF;
00069     QOTTrigger OTT;
00070     bool BlackSheep;
00071   };
00072   std::map<int,SingleChannelInfo> fSingleChannelInfos;
00073 
00074   void InitTwinChannel(const int chan1, const int chan2);
00075   struct TwinChannelInfo {
00076     QOTFilter OTF1;
00077     QOTFilter OTF2;
00078     QOTTwins OTTwins;
00079     bool BlackSheep;
00080   };
00081   std::map<int,TwinChannelInfo> fTwinChannelInfos;
00082 
00083   double fCoincidenceWindow; //input in msec
00084   double fThresholdFactor;   //OTTriggerThreshold=fThresoldFactor*OTFResolution
00085   bool fDebug;               //use debug mode
00086   bool fRelativeThermistor;  //use twin channels mode
00087   bool fDiff;                //use diff OF
00088   bool fVetoMode;            //use veto mode
00089 
00090   std::string fDebugFile;
00091   std::string fAvgPulseFile;
00092   std::string fAvgNoiseFile;
00093   std::string fKernelWindow;
00094 
00095   std::string fListOfPulsersFile;
00096   std::vector<unsigned int> fPulserAmpl;
00097   
00098 
00099   QFFT::WindowType fKernelWindowType;
00100 
00101   Cuore::QVector fTriggers,fSideTriggers,fCoincTriggers;
00102   Cuore::QVector fAmplTriggers,fAmplSideTriggers,fAmplCoincTriggers;
00103   Cuore::QVector fFiltered, fSideFiltered;
00104   Cuore::QVector fVetoIntervals,fSideVetoIntervals,fCoincVetoIntervals;
00105   Cuore::QVector fChi;
00106 
00107   Cuore::QVector fApolloOT;
00108 };
00109 
00110 #endif
00111 

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