00001
00002
00003
00004
00006 #ifndef PATCORE_IATHCALCULATORTOOL_H
00007 #define PATCORE_IATHCALCULATORTOOL_H 1
00008
00009
00010
00011
00012
00013
00014 #include "GaudiKernel/IAlgTool.h"
00015
00016
00017 #include "PATCore/TResult.h"
00018
00019
00020 class INavigable4Momentum;
00021
00022
00023 static const InterfaceID IID_IAthCalculatorTool("IAthCalculatorTool", 1, 0);
00024
00025 class IAthCalculatorTool
00026 : virtual public ::IAlgTool
00027 {
00028
00030
00032 public:
00033
00036
00037
00039
00041 static const InterfaceID& interfaceID();
00042
00043
00045 virtual const Root::TResult& getTResult( ) = 0;
00046
00047
00049 virtual const Root::TResult& calculate( const INavigable4Momentum* ) = 0;
00050
00051
00053
00055
00057
00059 protected:
00060
00061 };
00062
00065
00069 inline const InterfaceID& IAthCalculatorTool::interfaceID()
00070 {
00071 return IID_IAthCalculatorTool;
00072 }
00073
00074
00075 #endif //> !PATCORE_IATHSELECTORTOOL_H