ATLAS Offline Software
MuonSpectrometer/MuonPhaseII/MuonPatternRecognition/MuonPatternEvent/MuonPatternEvent/MuonSegment.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef MUONR4__HOUGHSEGMENT__H
6 #define MUONR4__HOUGHSEGMENT__H
7 #include <vector>
8 
11 #include "AthenaKernel/CLASS_DEF.h"
12 
13 namespace MuonR4{
14 
18  class MuonSegment{
19  public:
20  MuonSegment(double y0, double x0, double tanTheta, double tanPhi, const std::vector<const xAOD::UncalibratedMeasurement*> & measurements):
22 
23  }
24  // setters
25  void setChi2(double chi2){m_chi2 = chi2;}
26  void setX0(double x0){m_x0 = x0;}
27  void setY0(double y0){m_y0 = y0;}
29  void setTanPhi(double tanPhi){m_tanPhi = tanPhi;}
30  void setMeasurements(const std::vector<const xAOD::UncalibratedMeasurement*> & measurements){m_measurements = measurements;}
31  void setChi2PerMeasurement(size_t iMeasurement, double chi2){
32  m_chi2PerMeasurement.resize(std::max(iMeasurement, m_measurements.size()));
33  m_chi2PerMeasurement.at(iMeasurement) = chi2;
34  }void setChi2PerMeasurement(const std::vector<double> & chi2vals){
35  m_chi2PerMeasurement = chi2vals;
36  }
37 
38  // getters
39  double chi2() const {return m_chi2;}
40  double x0() const {return m_x0;}
41  double y0() const {return m_y0;}
42  double tanTheta() const {return m_tanTheta;}
43  double tanPhi() const {return m_tanPhi;}
44  std::vector<const xAOD::UncalibratedMeasurement*> measurements() const {return m_measurements;}
45  std::vector<double> chi2PerMeasurement() const{return m_chi2PerMeasurement;}
46 
47 
48  private:
49  double m_y0{0};
50  double m_x0{0};
51  double m_tanTheta{0};
52  double m_tanPhi{0};
53  double m_chi2{0};
54  std::vector<const xAOD::UncalibratedMeasurement*> m_measurements{};
55  std::vector<double> m_chi2PerMeasurement{};
56  };
57  // placeholder - later will be xAOD EDM
58  using MuonSegmentContainer = std::vector<MuonSegment> ;
59 }
60 CLASS_DEF( MuonR4::MuonSegmentContainer , 1185056226 , 1 )
61 
62 #endif
UncalibratedMeasurement.h
MuonR4::MuonSegment::setChi2
void setChi2(double chi2)
Definition: MuonSpectrometer/MuonPhaseII/MuonPatternRecognition/MuonPatternEvent/MuonPatternEvent/MuonSegment.h:25
max
#define max(a, b)
Definition: cfImp.cxx:41
MuonR4::MuonSegment::m_chi2PerMeasurement
std::vector< double > m_chi2PerMeasurement
Definition: MuonSpectrometer/MuonPhaseII/MuonPatternRecognition/MuonPatternEvent/MuonPatternEvent/MuonSegment.h:55
MuonR4::MuonSegment::x0
double x0() const
Definition: MuonSpectrometer/MuonPhaseII/MuonPatternRecognition/MuonPatternEvent/MuonPatternEvent/MuonSegment.h:40
MuonR4::MuonSegment
Placeholder for what will later be the muon segment EDM representation.
Definition: MuonSpectrometer/MuonPhaseII/MuonPatternRecognition/MuonPatternEvent/MuonPatternEvent/MuonSegment.h:18
MuonR4::MuonSegment::setMeasurements
void setMeasurements(const std::vector< const xAOD::UncalibratedMeasurement * > &measurements)
Definition: MuonSpectrometer/MuonPhaseII/MuonPatternRecognition/MuonPatternEvent/MuonPatternEvent/MuonSegment.h:30
MuonR4::MuonSegment::setY0
void setY0(double y0)
Definition: MuonSpectrometer/MuonPhaseII/MuonPatternRecognition/MuonPatternEvent/MuonPatternEvent/MuonSegment.h:27
MuonR4::MuonSegment::tanTheta
double tanTheta() const
Definition: MuonSpectrometer/MuonPhaseII/MuonPatternRecognition/MuonPatternEvent/MuonPatternEvent/MuonSegment.h:42
MuonR4::MuonSegment::setX0
void setX0(double x0)
Definition: MuonSpectrometer/MuonPhaseII/MuonPatternRecognition/MuonPatternEvent/MuonPatternEvent/MuonSegment.h:26
MuonR4::MuonSegment::y0
double y0() const
Definition: MuonSpectrometer/MuonPhaseII/MuonPatternRecognition/MuonPatternEvent/MuonPatternEvent/MuonSegment.h:41
MuonR4::MuonSegment::m_x0
double m_x0
Definition: MuonSpectrometer/MuonPhaseII/MuonPatternRecognition/MuonPatternEvent/MuonPatternEvent/MuonSegment.h:50
MuonR4::MuonSegment::setChi2PerMeasurement
void setChi2PerMeasurement(size_t iMeasurement, double chi2)
Definition: MuonSpectrometer/MuonPhaseII/MuonPatternRecognition/MuonPatternEvent/MuonPatternEvent/MuonSegment.h:31
MuonR4::MuonSegment::m_y0
double m_y0
Definition: MuonSpectrometer/MuonPhaseII/MuonPatternRecognition/MuonPatternEvent/MuonPatternEvent/MuonSegment.h:49
MuonR4::MuonSegment::m_measurements
std::vector< const xAOD::UncalibratedMeasurement * > m_measurements
Definition: MuonSpectrometer/MuonPhaseII/MuonPatternRecognition/MuonPatternEvent/MuonPatternEvent/MuonSegment.h:54
MuonR4::MuonSegment::m_tanPhi
double m_tanPhi
Definition: MuonSpectrometer/MuonPhaseII/MuonPatternRecognition/MuonPatternEvent/MuonPatternEvent/MuonSegment.h:52
MuonR4::MuonSegment::measurements
std::vector< const xAOD::UncalibratedMeasurement * > measurements() const
Definition: MuonSpectrometer/MuonPhaseII/MuonPatternRecognition/MuonPatternEvent/MuonPatternEvent/MuonSegment.h:44
MuonR4::MuonSegment::setTanTheta
void setTanTheta(double tanTheta)
Definition: MuonSpectrometer/MuonPhaseII/MuonPatternRecognition/MuonPatternEvent/MuonPatternEvent/MuonSegment.h:28
MuonR4::MuonSegment::tanPhi
double tanPhi() const
Definition: MuonSpectrometer/MuonPhaseII/MuonPatternRecognition/MuonPatternEvent/MuonPatternEvent/MuonSegment.h:43
MuonR4::MuonSegment::setTanPhi
void setTanPhi(double tanPhi)
Definition: MuonSpectrometer/MuonPhaseII/MuonPatternRecognition/MuonPatternEvent/MuonPatternEvent/MuonSegment.h:29
MuonR4::MuonSegment::chi2
double chi2() const
Definition: MuonSpectrometer/MuonPhaseII/MuonPatternRecognition/MuonPatternEvent/MuonPatternEvent/MuonSegment.h:39
MuonR4::MuonSegment::chi2PerMeasurement
std::vector< double > chi2PerMeasurement() const
Definition: MuonSpectrometer/MuonPhaseII/MuonPatternRecognition/MuonPatternEvent/MuonPatternEvent/MuonSegment.h:45
MuonR4
The CsvMuonSimHitDumper reads a Simulation Hit container for muons and dumps information to csv files...
Definition: MuonSpacePoint.h:11
MuonR4::MuonSegment::MuonSegment
MuonSegment(double y0, double x0, double tanTheta, double tanPhi, const std::vector< const xAOD::UncalibratedMeasurement * > &measurements)
Definition: MuonSpectrometer/MuonPhaseII/MuonPatternRecognition/MuonPatternEvent/MuonPatternEvent/MuonSegment.h:20
CLASS_DEF
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
Definition: Control/AthenaKernel/AthenaKernel/CLASS_DEF.h:64
MuonSpacePointContainer.h
MuonR4::MuonSegment::m_chi2
double m_chi2
Definition: MuonSpectrometer/MuonPhaseII/MuonPatternRecognition/MuonPatternEvent/MuonPatternEvent/MuonSegment.h:53
MuonR4::MuonSegment::m_tanTheta
double m_tanTheta
Definition: MuonSpectrometer/MuonPhaseII/MuonPatternRecognition/MuonPatternEvent/MuonPatternEvent/MuonSegment.h:51
CLASS_DEF.h
macros to associate a CLID to a type
MuonR4::MuonSegmentContainer
std::vector< MuonSegment > MuonSegmentContainer
Definition: MuonSpectrometer/MuonPhaseII/MuonPatternRecognition/MuonPatternEvent/MuonPatternEvent/MuonSegment.h:58