00001 #ifndef TRACKTOOLS_ISTATECREATOR_H
00002 #define TRACKTOOLS_ISTATECREATOR_H 1
00003
00004
00005
00006 #include "GaudiKernel/IAlgTool.h"
00007
00008
00009 class MCParticle;
00010 class State;
00011
00023 static const InterfaceID IID_IStateCreator( "IStateCreator", 1, 0 );
00024
00025 class IStateCreator: virtual public IAlgTool {
00026 public:
00028 static const InterfaceID& interfaceID() { return IID_IStateCreator; }
00029
00031 virtual StatusCode createState( const MCParticle* mcPart,
00032 double zrec,
00033 State*& pState ) const = 0;
00034
00036 virtual StatusCode createStateVertex( const MCParticle* mcPart,
00037 State*& pState ) const = 0;
00038 };
00039
00040 #endif // TRACKTOOLS_ISTATECREATOR_H