diff --git a/MuonSpectrometer/MuonDigitContainer/CMakeLists.txt b/MuonSpectrometer/MuonDigitContainer/CMakeLists.txt new file mode 100644 index 0000000000000000000000000000000000000000..1c538aad65f7aee121642c9f59f8bb1946ee3325 --- /dev/null +++ b/MuonSpectrometer/MuonDigitContainer/CMakeLists.txt @@ -0,0 +1,35 @@ +################################################################################ +# Package: MuonDigitContainer +################################################################################ + +# Declare the package name: +atlas_subdir( MuonDigitContainer ) + +# Declare the package's dependencies: +atlas_depends_on_subdirs( PUBLIC + Control/CLIDSvc + Control/DataModel + Control/SGTools + DetectorDescription/Identifier + Event/EventContainers + MuonSpectrometer/MuonIdHelpers + PRIVATE + TestPolicy ) + +# External dependencies: +find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread ) + +# Component(s) in the package: +atlas_add_library( MuonDigitContainer + src/*.cxx + PUBLIC_HEADERS MuonDigitContainer + PRIVATE_INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} + LINK_LIBRARIES DataModel SGTools Identifier MuonIdHelpersLib + PRIVATE_LINK_LIBRARIES ${ROOT_LIBRARIES} ) + +atlas_add_dictionary( MuonDigitContainerDict + MuonDigitContainer/MuonDigitContainerDict.h + MuonDigitContainer/selection.xml + INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} + LINK_LIBRARIES ${ROOT_LIBRARIES} DataModel SGTools Identifier MuonIdHelpersLib MuonDigitContainer ) + diff --git a/MuonSpectrometer/MuonDigitContainer/MuonDigitContainer/MmDigit.h b/MuonSpectrometer/MuonDigitContainer/MuonDigitContainer/MmDigit.h index 59db582c2db55e9fa3e27005d4f4ce9f790b449e..d4a41f62558863eff7a7bf8d56e318ff3e6b1a7b 100755 --- a/MuonSpectrometer/MuonDigitContainer/MuonDigitContainer/MmDigit.h +++ b/MuonSpectrometer/MuonDigitContainer/MuonDigitContainer/MmDigit.h @@ -42,20 +42,26 @@ class MmDigit : public MuonDigit { /** Full constructor --- From Identifier and time */ - MmDigit(const Identifier& id, std::vector<float> stripResponseTime, std::vector<int> stripResponsePosition, std::vector<float> stripResponseCharge, - std::vector<float> chipResponseTime, std::vector<int> chipResponsePosition, std::vector<float> chipResponseCharge, - int stripForTrigger, float stripTimeForTrigger); + MmDigit(const Identifier& id, + const std::vector<float>& stripResponseTime, + const std::vector<int>& stripResponsePosition, + const std::vector<float>& stripResponseCharge, + const std::vector<float>& chipResponseTime, + const std::vector<int>& chipResponsePosition, + const std::vector<float>& chipResponseCharge, + int stripForTrigger, + float stripTimeForTrigger); // Is this a valid digit? bool is_valid(const MmIdHelper * mmHelper) const; /** strip response info */ /** return the time */ - const std::vector<float> stripResponseTime() const { return m_stripResponseTime; } + const std::vector<float>& stripResponseTime() const { return m_stripResponseTime; } /** Return the strip position */ - const std::vector<int> stripResponsePosition() const { return m_stripResponsePosition; } + const std::vector<int>& stripResponsePosition() const { return m_stripResponsePosition; } /** Return the charge */ - const std::vector<float> stripResponseCharge() const { return m_stripResponseCharge; } + const std::vector<float>& stripResponseCharge() const { return m_stripResponseCharge; } /** Return the stripForTrigger */ int stripForTrigger() const { return m_stripForTrigger; } /** Return the charge */ @@ -63,11 +69,11 @@ class MmDigit : public MuonDigit { /** chip response info */ /** return the time */ - const std::vector<float> chipResponseTime() const { return m_chipResponseTime; } + const std::vector<float>& chipResponseTime() const { return m_chipResponseTime; } /** Return the strip position */ - const std::vector<int> chipResponsePosition() const { return m_chipResponsePosition; } + const std::vector<int>& chipResponsePosition() const { return m_chipResponsePosition; } /** Return the charge */ - const std::vector<float> chipResponseCharge() const { return m_chipResponseCharge; } + const std::vector<float>& chipResponseCharge() const { return m_chipResponseCharge; } diff --git a/MuonSpectrometer/MuonDigitContainer/src/MmDigit.cxx b/MuonSpectrometer/MuonDigitContainer/src/MmDigit.cxx index 77b82f9f91ce3d135d9be8f1a67ca99fcfd5c003..368b1610ee1ff726d93eeffb6b76820a043c8d0d 100755 --- a/MuonSpectrometer/MuonDigitContainer/src/MmDigit.cxx +++ b/MuonSpectrometer/MuonDigitContainer/src/MmDigit.cxx @@ -34,11 +34,25 @@ MmDigit::MmDigit(const Identifier& id) // Full constructor, with trigger Info -MmDigit::MmDigit(const Identifier& id, std::vector<float> stripResponseTime, std::vector<int> stripResponsePosition, std::vector<float> stripResponseCharge, -std::vector<float> chipResponseTime, std::vector<int> chipResponsePosition, std::vector<float> chipResponseCharge, int stripForTrigger, float stripTimeForTrigger) - : MuonDigit(id), m_stripResponseTime(stripResponseTime), m_stripResponseCharge(stripResponseCharge), m_stripResponsePosition(stripResponsePosition), - m_chipResponseTime(chipResponseTime), m_chipResponseCharge(chipResponseCharge), m_chipResponsePosition(chipResponsePosition), - m_stripForTrigger(stripForTrigger), m_stripTimeForTrigger(stripTimeForTrigger) { } +MmDigit::MmDigit(const Identifier& id, + const std::vector<float>& stripResponseTime, + const std::vector<int>& stripResponsePosition, + const std::vector<float>& stripResponseCharge, + const std::vector<float>& chipResponseTime, + const std::vector<int>& chipResponsePosition, + const std::vector<float>& chipResponseCharge, + int stripForTrigger, + float stripTimeForTrigger) + : MuonDigit(id), + m_stripResponseTime(stripResponseTime), + m_stripResponseCharge(stripResponseCharge), + m_stripResponsePosition(stripResponsePosition), + m_chipResponseTime(chipResponseTime), + m_chipResponseCharge(chipResponseCharge), + m_chipResponsePosition(chipResponsePosition), + m_stripForTrigger(stripForTrigger), + m_stripTimeForTrigger(stripTimeForTrigger) +{ } //**********************************************************************/ // Validity check.