/search.css" rel="stylesheet" type="text/css"/> /search.js">
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

In This Package:

ROsFeeReadoutTool.h
Go to the documentation of this file.
00001 /*
00002  * \class ROsFeeReadoutTool
00003  *
00004  * \brief Fee Readout Tool
00005  *
00006  * bseilhan@iit.edu Wed Sep 17 21:33:23 CDT 2008
00007  *
00008  */
00009 
00010 #ifndef _ROFEEREADOUTTOOLL_H_
00011 #define _ROFEEREADOUTTOOLL_H_
00012 
00013 #include "ReadoutSim/IROsReadoutTool.h"
00014 #include "ReadoutSim/IROsFeeWaveformTool.h"
00015 #include "ReadoutSim/IROsFeeTdcTool.h"
00016 #include "ReadoutSim/IROsFadcReadoutTool.h"
00017 
00018 #include "GaudiAlg/GaudiTool.h"
00019 
00020 #include "Conventions/Detectors.h"
00021 #include "Conventions/Trigger.h"
00022 #include "DataSvc/ISimDataSvc.h"
00023 
00024 #include <vector>
00025 #include <string>
00026 
00027 namespace DayaBay{
00028   class ElecHeader;
00029   class ElecFeeCrate;
00030   class ElecFeeChannel;
00031   class SimTrigHeader;
00032   class SimTrigCommand;
00033   class SimReadoutHeader;
00034   class ReadoutPmtCrate;
00035   class ReadoutPmtChannel;
00036   class ReadoutTriggerDataPkg;
00037   class ReadoutTriggerDataFrame;
00038 }
00039 
00040 class ROsFeeReadoutTool : public GaudiTool , virtual public IROsReadoutTool
00041 {
00042 public:  
00043   
00044     ROsFeeReadoutTool(const std::string& type,
00045                                   const std::string& name,
00046                                   const IInterface* parent);
00047                  
00048     virtual ~ROsFeeReadoutTool();
00049 
00050     virtual StatusCode mutate(DayaBay::SimReadoutHeader *roHeader,
00051                               std::vector<DayaBay::ReadoutTriggerDataPkg*>& trigDataPkg,
00052                                           const DayaBay::ElecHeader& elecHeader);
00053                                                       
00054     virtual StatusCode initialize();
00055     virtual StatusCode finalize();
00056     
00057 private:
00058     virtual StatusCode makeReadouts(DayaBay::SimReadoutHeader *roHeader,
00059                                     std::vector<DayaBay::ReadoutTriggerDataPkg*>& trigDataPkg,
00060                                                     const DayaBay::ElecHeader& elecHeader);
00061                 
00062     DayaBay::ReadoutPmtCrate* readoutCrate(const DayaBay::ReadoutTriggerDataFrame *tdf,
00063                                            const DayaBay::ElecFeeCrate *cr, Context context);
00064                                       
00065     DayaBay::ReadoutPmtChannel* readoutChannel(const DayaBay::ReadoutTriggerDataFrame *tdf,
00066                                                const DayaBay::ElecFeeChannel *ch, 
00067                                                DayaBay::FeeChannelId channelId,
00068                                                Context context);
00069     
00070     IROsFeeTdcTool* m_tdcTool;
00071     IROsFeeWaveformTool* m_waveformTool;
00072     IROsFadcReadoutTool* m_fadcTool;
00073     
00074     bool m_enablePeakReadout;
00075     bool m_enableWaveformReadout;
00076     bool m_enableFadcReadout;
00077     std::string m_tdcToolName;
00078     std::string m_waveformToolName;
00079     std::string m_fadcToolName;
00080 
00081     // Property CableSvcName - Service name for electronics sim properties
00082     std::string m_simDataSvcName;
00083     ISimDataSvc *m_simDataSvc;
00084 
00085     std::vector<std::string> m_detectorsToProcess;
00086     std::set<DayaBay::Detector> m_detectors; 
00087     std::vector<int> m_roCycles;
00088     int m_readoutLength;
00089     int m_triggerLatency;
00090     int m_peakFindingLength;
00091     int m_peakFindingOffset;
00092     bool m_peakFindingOverlap;
00093     int m_readoutOffset;
00094     int m_preAdcOffset;
00095     int m_fadcOffset;
00096     int m_fadcLength;
00097     int m_nhitCycles;
00098     int m_eSumCycles;
00099     int m_maxFineAdc;
00100 };
00101 
00102 
00103 
00104 #endif /* _ROFEEREADOUTTOOLL_H_ */
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Fri May 16 2014 10:17:05 for ReadoutSim by doxygen 1.7.4