ATLAS Offline Software
Loading...
Searching...
No Matches
MuonCalibPattern.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3*/
4
5// MuonCalibPattern.h
6// Header file for class MuonCalibPattern
8// (c) ATLAS Detector software
10// nveldik@nikhef.nl
12
13#ifndef MUONCALIB_MUONCALIBPATTERN_H
14#define MUONCALIB_MUONCALIBPATTERN_H
15
16// stl includes
17#include <float.h>
18
19#include <memory>
20#include <ostream>
21#include <vector>
22namespace MuonCalib {
23
24 class MuonCalibSegment;
25
41
43 public:
44 using MuonCalibSegPtr = std::shared_ptr<MuonCalibSegment>;
46 using MuonSegmentVec = std::vector<MuonCalibSegPtr>;
48
49 public:
50 MuonCalibPattern() = default;
53 ~MuonCalibPattern() = default;
54
55 struct defineParams {
56 double chi2{FLT_MAX};
57 double z0{FLT_MAX};
58 double dist0{FLT_MAX};
59 double invP{FLT_MAX};
60 double phi{FLT_MAX};
61 double theta{FLT_MAX};
62
64 unsigned int nmdt{0};
66 unsigned int nrpc{0};
68
69 unsigned int ntgc{0};
71
72 unsigned int ncsc{0};
73 };
74
75 MuonCalibPattern(const defineParams& pars);
77
78 // accessors
79 /* Number of muonSegments */
80 unsigned int muonSegments() const;
81 /* access the (const) iterators*/
82 /* retrieve a reference to the MuonCalibSegments-vector*/
83 const MuonSegmentVec& muonSegs() const;
85
86 /* access to track parameters */
87 double chi2() const;
88 double z0() const;
89 double r0() const;
90 double invP() const;
91 double phi() const;
92 double theta() const;
93
94 /* access to number of hits */
96
97 unsigned int nmdtHits() const;
99 unsigned int nrpcHits() const;
101 unsigned int ntgcHits() const;
103 unsigned int ncscHits() const;
104
105 /* methods for adding segments */
106 // void addMuonSegment(MuonCalibSegment* seg); //!< Adds the MuonCalibSegment to the set MuonCalibSegments of the MuonCalibPattern.
108 std::ostream& dump(std::ostream& os) const;
109
110 private:
112 void copy(const MuonCalibPattern& other);
113
115 /* pattern parameters */
116 };
117
118} // namespace MuonCalib
119
120std::ostream& operator<<(std::ostream& stream, const MuonCalib::MuonCalibPattern& pat);
121
122#endif
std::ostream & operator<<(std::ostream &stream, const MuonCalib::MuonCalibPattern &pat)
Class to store the information belonging to a global pattern in the muon system.
MuonCalibPattern()=default
Default constructor.
std::shared_ptr< MuonCalibSegment > MuonCalibSegPtr
typedef for a set of (pointers to) MuonCalibSegments
double r0() const
retrieve the r0 (track)parameter of the pattern
std::vector< MuonCalibSegPtr > MuonSegmentVec
typedef for the iterator of the set of MuonCalibSegments
double phi() const
retrieve the phi (track)parameter of the pattern
~MuonCalibPattern()=default
destructor
double invP() const
retrieve the invP (track)parameter of the pattern
double z0() const
retrieve the z0 (track)parameter of the pattern
unsigned int nmdtHits() const
< retrieve number of MDT hits. Counting convention: 1000*eta hits + phi hits. Note that MDTs only mea...
const MuonSegmentVec & muonSegs() const
retrieve the whole set of MuonCalibSegments: reference to the segment vector
void copy(const MuonCalibPattern &other)
MuonCalibPattern & operator=(const MuonCalibPattern &pat)
assignment operator.
unsigned int muonSegments() const
retrieve number of segments
void addMuonSegment(MuonCalibSegPtr seg)
double theta() const
retrieve the theta (track)parameter of the pattern
unsigned int ncscHits() const
double chi2() const
retrieve chi2 of the pattern
unsigned int ntgcHits() const
retrieve number of CSC hits.
unsigned int nrpcHits() const
retrieve number of TGC hits.
MuonSegmentVec m_muonSegments
set of MuonCalibSegments assigned to this MuonCalibPattern
A MuonCalibSegment is a reconstructed three dimensional track segment in the MuonSpectrometer.
CscCalcPed - algorithm that finds the Cathode Strip Chamber pedestals from an RDO.
-event-from-file
unsigned int ntgc
number of CSC hits.
double dist0
d0 (track)parameter of the MuonCalibPattern
double phi
phi (track)parameter of the MuonCalibPattern
double chi2
Chi2 of the MuonCalibPattern.
double theta
theta (track)parameter of the MuonCalibPattern
unsigned int nrpc
number of TGC hits.
unsigned int nmdt
number of RPC hits.
double z0
z0 (track)parameter of the MuonCalibPattern
double invP
invP (track)parameter of the MuonCalibPattern