/search.css" rel="stylesheet" type="text/css"/> /search.js">
00001 /* 00002 * \class TsMultTriggerTool 00003 * 00004 * \brief Multiplicity trigger tool 00005 * 00006 * bseilhan@iit.edu Tue Sep 9 20:03:52 CDT 2008 00007 * 00008 */ 00009 00010 #ifndef _TSMULTTRIGGERTOOL_H_ 00011 #define _TSMULTTRIGGERTOOL_H_ 00012 00013 #include "TrigSim/ITsTriggerTool.h" 00014 #include "GaudiAlg/GaudiTool.h" 00015 00016 #include "Conventions/Detectors.h" 00017 #include "Conventions/Trigger.h" 00018 00019 #include <vector> 00020 #include <string> 00021 #include <map> 00022 00023 namespace DayaBay{ 00024 class ElecHeader; 00025 class SimTrigHeader; 00026 } 00027 00028 class TsMultTriggerTool : public GaudiTool , virtual public ITsTriggerTool 00029 { 00030 public: 00031 00032 TsMultTriggerTool(const std::string& type, 00033 const std::string& name, 00034 const IInterface* parent); 00035 00036 virtual ~TsMultTriggerTool(); 00037 00038 virtual StatusCode mutate(DayaBay::SimTrigHeader* trigHeader, 00039 const DayaBay::ElecHeader& elecHeader); 00040 00041 virtual StatusCode initialize(); 00042 virtual StatusCode finalize(); 00043 00044 private: 00045 unsigned int m_recoveryCycles; 00046 unsigned int m_ADThreshold; 00047 unsigned int m_FarIWSThreshold; 00048 unsigned int m_FarOWSThreshold; 00049 unsigned int m_NearIWSThreshold; 00050 unsigned int m_NearOWSThreshold; 00051 00052 virtual StatusCode fillTriggers(DayaBay::SimTrigHeader* trigHeader, 00053 const DayaBay::ElecHeader& elecHeader); 00054 00055 std::vector<std::string> m_detectorsToProcess; 00056 std::map<std::string,int> m_NHitThresholdMap; 00057 00058 unsigned int getThreshold(DayaBay::Detector det); 00059 DayaBay::Trigger::TriggerType_t getTriggerType(DayaBay::Detector det); 00060 }; 00061 00062 00063 00064 #endif /* _TSMULTTRIGGERTOOL_H_ */