diff --git a/MuonSpectrometer/MuonReconstruction/MuonRecEvent/MuonPrepRawData/MuonPrepRawData/MMPrepData.h b/MuonSpectrometer/MuonReconstruction/MuonRecEvent/MuonPrepRawData/MuonPrepRawData/MMPrepData.h index daa638e3c8a7e4aff663e582105016060ab4f100..dbc77dd42305b6d8aedb000e76978c44e18617c1 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 f9ae7e52319844d0b014b425bc2d0341a2009fe5..851b306fb4c0e2c3715d9d7bbab1657b2a995b9a 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)