00001 #ifndef ASSOCIATIONUTILS_ORTOOLBOXTESTALG_H
00002 #define ASSOCIATIONUTILS_ORTOOLBOXTESTALG_H
00003 
00004 
00005 #include "AthenaBaseComps/AthAlgorithm.h"
00006 
00007 
00008 #include "AssociationUtils/ToolBox.h"
00009 #include "AssociationUtils/OverlapRemovalInit.h"
00010 
00011 
00021 class ORToolBoxTestAlg : public AthAlgorithm
00022 {
00023 
00024   public:
00025 
00027     ORToolBoxTestAlg(const std::string& name, ISvcLocator* svcLoc);
00028 
00030     virtual StatusCode initialize();
00031 
00033     virtual StatusCode execute();
00034 
00035   private:
00036 
00038     template<class ContainerType>
00039     void applySelection(const ContainerType& container);
00040 
00042     template<class ObjType>
00043     bool selectObject(const ObjType& obj);
00044 
00046     void printObjects(const xAOD::IParticleContainer& container,
00047                       const std::string& type);
00048 
00050     ORUtils::ToolBox m_toolBox;
00051 
00053     ORUtils::ORFlags m_flags;
00054 
00055 };
00056 
00057 #endif