/search.css" rel="stylesheet" type="text/css"/> /search.js">
00001 /* 00002 * \class ROsFeeAdcMultiTool 00003 * 00004 * \brief Fee Readout Tool which records sampled adc waveform 00005 * 00006 * dandwyer@caltech.edu 2008/10/01 00007 * Based on code writted by bseilhan@iit.edu 00008 */ 00009 00010 #ifndef _ROFEEADCMULTITOOLL_H_ 00011 #define _ROFEEADCMULTITOOLL_H_ 00012 00013 #include "ReadoutSim/IROsReadoutTool.h" 00014 #include "ReadoutSim/IROsFeeWaveformTool.h" 00015 #include "ReadoutSim/IROsFeeTdcTool.h" 00016 00017 #include "GaudiAlg/GaudiTool.h" 00018 00019 #include "Conventions/Detectors.h" 00020 #include "Conventions/Trigger.h" 00021 00022 #include <vector> 00023 #include <string> 00024 00025 00026 class ROsFeeAdcMultiTool : public GaudiTool , virtual public IROsFeeWaveformTool 00027 { 00028 public: 00029 00030 ROsFeeAdcMultiTool(const std::string& type, 00031 const std::string& name, 00032 const IInterface* parent); 00033 00034 virtual ~ROsFeeAdcMultiTool(); 00035 00036 virtual StatusCode readoutWaveform(const std::vector<int>& adc_in, 00037 unsigned int first_cycle, 00038 unsigned int last_cycle, 00039 unsigned int stop_cycle, 00040 std::vector<int>& adc_out, 00041 std::vector<int>& adcCycle_out); 00042 00043 virtual StatusCode initialize(); 00044 virtual StatusCode finalize(); 00045 00046 private: 00047 00048 std::vector<int> m_roCycles; 00049 00050 }; 00051 00052 00053 00054 #endif /* _ROFEEADCMULTITOOLL_H_ */