00001
00002 #ifndef PATCORE_IUSERDATACALCTOOL_H
00003 #define PATCORE_IUSERDATACALCTOOL_H
00004
00005
00006
00007
00019
00020
00021
00022
00023 #include "GaudiKernel/IAlgTool.h"
00024
00025
00026
00027 class IAthenaBarCode;
00028
00029
00030
00031 static const InterfaceID IID_IUserDataCalcTool("IUserDataCalcTool", 1, 0);
00032
00033
00034 class IUserDataCalcTool
00035 : virtual public ::IAlgTool
00036 {
00037 public:
00038
00041
00042
00043
00045 static const InterfaceID& interfaceID();
00046
00047
00048 public:
00049
00052 virtual StatusCode calculateElementUserData( const IAthenaBarCode *abc ) = 0;
00053
00055 virtual StatusCode calculateEventUserData( ) = 0;
00056
00057
00058
00059 };
00060
00061
00065 inline const InterfaceID& IUserDataCalcTool::interfaceID()
00066 {
00067 return IID_IUserDataCalcTool;
00068 }
00069
00070 #endif