From b3a3f2ac538e87096f9ae1f05beb9093e8b5aa42 Mon Sep 17 00:00:00 2001 From: John Derek Chapman <chapman@hep.phy.cam.ac.uk> Date: Thu, 18 Apr 2019 18:09:28 +0000 Subject: [PATCH] Merge branch 'nsw_prd' into '21.3' Modifying MM EDM for microTPC See merge request atlas/athena!22741 (cherry picked from commit 30165b99ca534b43320614ffdf1550fa59cf6e7d) a82883c7 Modifying MM EDM for microTPC 3b439bb3 updating microTPC configuration 33c31102 fix copy and move --- .../MuonPrepRawData/MMPrepData.h | 23 +++++++++++++++ .../MuonPrepRawData/src/MMPrepData.cxx | 28 +++++++++++++++---- 2 files changed, 46 insertions(+), 5 deletions(-) diff --git a/MuonSpectrometer/MuonReconstruction/MuonRecEvent/MuonPrepRawData/MuonPrepRawData/MMPrepData.h b/MuonSpectrometer/MuonReconstruction/MuonRecEvent/MuonPrepRawData/MuonPrepRawData/MMPrepData.h index daa638e3c8a7..dbc77dd42305 100755 --- a/MuonSpectrometer/MuonReconstruction/MuonRecEvent/MuonPrepRawData/MuonPrepRawData/MMPrepData.h +++ b/MuonSpectrometer/MuonReconstruction/MuonRecEvent/MuonPrepRawData/MuonPrepRawData/MMPrepData.h @@ -67,6 +67,9 @@ namespace Muon /** @brief Destructor: */ virtual ~MMPrepData(); + /** @brief set microTPC parameters */ + void setMicroTPC(double angle, double chisqProb); + /** @brief Returns the global position*/ const Amg::Vector3D& globalPosition() const; @@ -80,6 +83,12 @@ namespace Muon /** @brief Returns the ADC counts */ int charge() const; + /** @brief Returns the microTPC angle */ + int angle() const; + + /** @brief Returns the microTPC chisq Prob. */ + int chisqProb() const; + /** @brief Dumps information about the PRD*/ MsgStream& dump( MsgStream& stream) const; @@ -97,6 +106,10 @@ namespace Muon /** @brief measured charge */ int m_charge; + /** @angle and chisquare from micro-TPC fit */ + double m_angle; + double m_chisqProb; + }; inline const MuonGM::MMReadoutElement* MMPrepData::detectorElement() const @@ -122,6 +135,16 @@ namespace Muon return m_charge; } + inline int MMPrepData::angle() const + { + return m_angle; + } + + inline int MMPrepData::chisqProb() const + { + return m_chisqProb; + } + } #endif // MUONPREPRAWDATA_MMREPDATA_H diff --git a/MuonSpectrometer/MuonReconstruction/MuonRecEvent/MuonPrepRawData/src/MMPrepData.cxx b/MuonSpectrometer/MuonReconstruction/MuonRecEvent/MuonPrepRawData/src/MMPrepData.cxx index f9ae7e523198..851b306fb4c0 100755 --- a/MuonSpectrometer/MuonReconstruction/MuonRecEvent/MuonPrepRawData/src/MMPrepData.cxx +++ b/MuonSpectrometer/MuonReconstruction/MuonRecEvent/MuonPrepRawData/src/MMPrepData.cxx @@ -19,7 +19,9 @@ namespace Muon MuonCluster(RDOId, idDE, locpos, rdoList, locErrMat), //call base class constructor m_detEl(detEl), m_time(time), - m_charge(charge) + m_charge(charge), + m_angle(0), + m_chisqProb(0) { } MMPrepData::MMPrepData( const Identifier& RDOId, @@ -31,7 +33,9 @@ namespace Muon MuonCluster(RDOId, idDE, locpos, rdoList, locErrMat), //call base class constructor m_detEl(detEl), m_time(0), - m_charge(0) + m_charge(0), + m_angle(0), + m_chisqProb(0) { } // Destructor: @@ -45,7 +49,9 @@ namespace Muon MuonCluster(), m_detEl(0), m_time(0), - m_charge(0) + m_charge(0), + m_angle(0), + m_chisqProb(0) { } //copy constructor: @@ -53,7 +59,9 @@ namespace Muon MuonCluster(RIO), m_detEl( RIO.m_detEl ), m_time(RIO.m_time), - m_charge(RIO.m_charge) + m_charge(RIO.m_charge), + m_angle(RIO.m_angle), + m_chisqProb(RIO.m_chisqProb) { } //move constructor: @@ -61,9 +69,19 @@ namespace Muon MuonCluster(std::move(RIO)), m_detEl( RIO.m_detEl ), m_time(RIO.m_time), - m_charge(RIO.m_charge) + m_charge(RIO.m_charge), + m_angle(RIO.m_angle), + m_chisqProb(RIO.m_chisqProb) { } + /// set the micro-tpc quantities + void MMPrepData::setMicroTPC(double angle, double chisqProb) + { + m_angle = angle; + m_chisqProb = chisqProb; + } + + //assignment operator MMPrepData& MMPrepData::operator=(const MMPrepData& RIO) -- GitLab