Skip to content
Snippets Groups Projects
Commit 08ec5ba9 authored by Adam Edward Barton's avatar Adam Edward Barton :speech_balloon:
Browse files

Merge branch 'cherry-pick-56e7fa91-master' into 'master'

Sweeping !20024 from 21.3 to master.
Adding MM and STGC clusterization packages for the NSW, with interfaces and example tools

See merge request atlas/athena!20208
parents bc07da4e a291135f
No related branches found
No related tags found
No related merge requests found
Showing
with 332 additions and 0 deletions
################################################################################
# Package: MMClusterization
################################################################################
# Declare the package name:
atlas_subdir( MMClusterization )
# Declare the package's dependencies:
atlas_depends_on_subdirs( PUBLIC
GaudiKernel
MuonSpectrometer/MuonReconstruction/MuonRecEvent/MuonPrepRawData
PRIVATE
Control/AthenaBaseComps
Event/EventPrimitives
MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry
MuonSpectrometer/MuonIdHelpers
TestPolicy )
# External dependencies:
find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread )
# Component(s) in the package:
atlas_add_library( MMClusterizationLib
src/*.cxx
PUBLIC_HEADERS MMClusterization
PRIVATE_INCLUDE_DIRS ${ROOT_INCLUDE_DIRS}
LINK_LIBRARIES GaudiKernel MuonPrepRawData MuonIdHelpersLib
PRIVATE_LINK_LIBRARIES ${ROOT_LIBRARIES} AthenaBaseComps EventPrimitives MuonReadoutGeometry )
atlas_add_component( MMClusterization
src/components/*.cxx
INCLUDE_DIRS ${ROOT_INCLUDE_DIRS}
LINK_LIBRARIES ${ROOT_LIBRARIES} GaudiKernel MuonPrepRawData AthenaBaseComps EventPrimitives MuonIdHelpersLib MMClusterizationLib )
/*
Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
*/
#ifndef IMMClusterBuilderTool_h
#define IMMClusterBuilderTool_h
//
// Interface class for MM clustering
//
#include <vector>
#include "GaudiKernel/IAlgTool.h"
namespace Muon {
class MMPrepData;
}
static const InterfaceID IID_IMMClusterBuilderTool("Muon::IMMClusterBuilderTool", 1, 0);
namespace Muon {
class IMMClusterBuilderTool : virtual public IAlgTool {
public: // static methods
static const InterfaceID& interfaceID() { return IID_IMMClusterBuilderTool; }
public: // interface methods
virtual StatusCode getClusters(std::vector<Muon::MMPrepData>& stripsVect,
std::vector<Muon::MMPrepData>& clustersVect)=0;
};
}
#endif
/*
Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
*/
#include "SimpleMMClusterBuilderTool.h"
#include "MuonPrepRawData/MMPrepData.h"
using namespace Muon;
Muon::SimpleMMClusterBuilderTool::SimpleMMClusterBuilderTool(const std::string& t,
const std::string& n,
const IInterface* p )
:
AthAlgTool(t,n,p)
{
}
Muon::SimpleMMClusterBuilderTool::~SimpleMMClusterBuilderTool()
{
}
StatusCode Muon::SimpleMMClusterBuilderTool::initialize()
{
return StatusCode::SUCCESS;
}
StatusCode Muon::SimpleMMClusterBuilderTool::finalize()
{
return StatusCode::SUCCESS;
}
StatusCode Muon::SimpleMMClusterBuilderTool::getClusters(std::vector<Muon::MMPrepData>& stripsVect,
std::vector<Muon::MMPrepData>& clustersVect)
{
ATH_MSG_DEBUG("Size of the input vector: " << stripsVect.size());
ATH_MSG_DEBUG("Size of the output vector: " << clustersVect.size());
return StatusCode::SUCCESS;
}
/*
Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
*/
#ifndef SimpleMMClusterBuilderTool_h
#define SimpleMMClusterBuilderTool_h
#include "GaudiKernel/ToolHandle.h"
#include "MMClusterization/IMMClusterBuilderTool.h"
#include "MuonPrepRawData/MMPrepData.h"
#include "AthenaBaseComps/AthAlgTool.h"
//
// Simple clusterization tool for MicroMegas
//
namespace Muon
{
class IMMClusterBuilderTool;
class SimpleMMClusterBuilderTool : virtual public IMMClusterBuilderTool, public AthAlgTool {
public:
/** Default constructor */
SimpleMMClusterBuilderTool(const std::string&, const std::string&, const IInterface*);
/** Default destructor */
virtual ~SimpleMMClusterBuilderTool();
/** standard initialize method */
virtual StatusCode initialize();
/** standard finalize method */
virtual StatusCode finalize();
StatusCode getClusters(std::vector<Muon::MMPrepData>& stripsVect,
std::vector<Muon::MMPrepData>& clustersVect);
private:
};
}
#endif
#include "../SimpleMMClusterBuilderTool.h"
DECLARE_COMPONENT(Muon::SimpleMMClusterBuilderTool)
#include "GaudiKernel/LoadFactoryEntries.h"
LOAD_FACTORY_ENTRIES(MMClusterization)
################################################################################
# Package: STgcClusterization
################################################################################
# Declare the package name:
atlas_subdir( STgcClusterization )
# Declare the package's dependencies:
atlas_depends_on_subdirs( PUBLIC
GaudiKernel
MuonSpectrometer/MuonReconstruction/MuonRecEvent/MuonPrepRawData
PRIVATE
Control/AthenaBaseComps
Event/EventPrimitives
MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry
MuonSpectrometer/MuonIdHelpers
TestPolicy )
# External dependencies:
find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread )
# Component(s) in the package:
atlas_add_library( STgcClusterizationLib
src/*.cxx
PUBLIC_HEADERS STgcClusterization
PRIVATE_INCLUDE_DIRS ${ROOT_INCLUDE_DIRS}
LINK_LIBRARIES GaudiKernel MuonPrepRawData MuonIdHelpersLib
PRIVATE_LINK_LIBRARIES ${ROOT_LIBRARIES} AthenaBaseComps EventPrimitives MuonReadoutGeometry )
atlas_add_component( STgcClusterization
src/components/*.cxx
INCLUDE_DIRS ${ROOT_INCLUDE_DIRS}
LINK_LIBRARIES ${ROOT_LIBRARIES} GaudiKernel MuonPrepRawData AthenaBaseComps EventPrimitives MuonIdHelpersLib STgcClusterizationLib )
/*
Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
*/
#ifndef ISTgcClusterBuilderTool_h
#define ISTgcClusterBuilderTool_h
//
// Interface class for MM clustering
//
#include <vector>
#include "GaudiKernel/IAlgTool.h"
namespace Muon {
class sTgcPrepData;
}
static const InterfaceID IID_ISTgcClusterBuilderTool("Muon::ISTgcClusterBuilderTool", 1, 0);
namespace Muon {
class ISTgcClusterBuilderTool : virtual public IAlgTool {
public: // static methods
static const InterfaceID& interfaceID() { return IID_ISTgcClusterBuilderTool; }
public: // interface methods
virtual StatusCode getClusters(std::vector<Muon::sTgcPrepData>& stripsVect,
std::vector<Muon::sTgcPrepData>& clustersVect)=0;
};
}
#endif
/*
Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
*/
#include "SimpleSTgcClusterBuilderTool.h"
#include "MuonPrepRawData/sTgcPrepData.h"
using namespace Muon;
Muon::SimpleSTgcClusterBuilderTool::SimpleSTgcClusterBuilderTool(const std::string& t,
const std::string& n,
const IInterface* p )
:
AthAlgTool(t,n,p)
{
}
Muon::SimpleSTgcClusterBuilderTool::~SimpleSTgcClusterBuilderTool()
{
}
StatusCode Muon::SimpleSTgcClusterBuilderTool::initialize()
{
return StatusCode::SUCCESS;
}
StatusCode Muon::SimpleSTgcClusterBuilderTool::finalize()
{
return StatusCode::SUCCESS;
}
StatusCode Muon::SimpleSTgcClusterBuilderTool::getClusters(std::vector<Muon::sTgcPrepData>& stripsVect,
std::vector<Muon::sTgcPrepData>& clustersVect)
{
ATH_MSG_DEBUG("Size of the input vector: " << stripsVect.size());
ATH_MSG_DEBUG("Size of the output vector: " << clustersVect.size());
return StatusCode::SUCCESS;
}
/*
Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
*/
#ifndef SimpleSTgcClusterBuilderTool_h
#define SimpleSTgcClusterBuilderTool_h
#include "GaudiKernel/ToolHandle.h"
#include "STgcClusterization/ISTgcClusterBuilderTool.h"
#include "AthenaBaseComps/AthAlgTool.h"
//
// Simple clusterization tool for MicroMegas
//
namespace Muon
{
class ISTgcClusterBuilderTool;
class SimpleSTgcClusterBuilderTool : virtual public ISTgcClusterBuilderTool, public AthAlgTool {
public:
/** Default constructor */
SimpleSTgcClusterBuilderTool(const std::string&, const std::string&, const IInterface*);
/** Default destructor */
virtual ~SimpleSTgcClusterBuilderTool();
/** standard initialize method */
virtual StatusCode initialize();
/** standard finalize method */
virtual StatusCode finalize();
StatusCode getClusters(std::vector<Muon::sTgcPrepData>& stripsVect,
std::vector<Muon::sTgcPrepData>& clustersVect);
private:
};
}
#endif
#include "../SimpleSTgcClusterBuilderTool.h"
DECLARE_COMPONENT(Muon::SimpleSTgcClusterBuilderTool)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment