00001 00021 #ifndef GTTRANSFORMTOOL_H 00022 #define GTTRANSFORMTOOL_H 00023 00024 00025 #include "GaudiAlg/GaudiTool.h" 00026 #include "GenTools/IHepMCEventMutator.h" 00027 00028 #include <vector> 00029 #include <string> 00030 00031 class IDetectorElement; 00032 00033 class GtTransformTool : public GaudiTool, 00034 virtual public IHepMCEventMutator 00035 00036 { 00037 00038 public: 00039 00040 GtTransformTool(const std::string& type, 00041 const std::string& name, 00042 const IInterface* parent); 00043 virtual ~GtTransformTool(); 00044 00045 virtual StatusCode initialize(); 00046 virtual StatusCode finalize(); 00047 00048 virtual StatusCode mutate(HepMC::GenEvent& event); 00049 00050 const IDetectorElement* detelem(); 00051 00052 private: 00054 std::string m_volume; 00055 00056 // Offset property 00057 std::vector<double> m_offset; 00058 00059 // IgnorePosition property. 00060 bool m_ignorePosition; 00061 00062 // IgnoreDirection property. 00063 bool m_ignoreDirection; 00064 00065 IDetectorElement* m_detelem; 00066 00067 }; 00068 00069 #endif // GTTRANSFORMTOOL_H