ATLAS Offline Software
Loading...
Searching...
No Matches
TileCosmicMuon.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef TILEEVENT_TILECOSMICMUON
6#define TILEEVENT_TILECOSMICMUON
8// //
9// Information on TileCosmicAlgs/TileMuonFitter results
10// //
12
15#include <vector>
16
32
33
35{
36 public:
37
39 TileCosmicMuon() : m_time((double)0.),
40 m_positionX((double)0.),m_positionY((double)0.),m_positionZ((double)0.),
41 m_directionPhi((double)0.),m_directionTheta((double)0.),
42 m_fitQuality((double)0.),m_fitNCells((int)0) {}
43
44 std::string whoami (void) const { return "TileCosmicMuon"; }
45 operator std::string() const;
46
47
48
50 inline void SetTime(double time) {m_time = time;}
51 inline void SetPositionX(double posx) {m_positionX = posx;}
52 inline void SetPositionY(double posy) {m_positionY = posy;}
53 inline void SetPositionZ(double posz) {m_positionZ = posz;}
54 inline void SetDirectionPhi(double phi) {m_directionPhi = phi;}
56 inline void SetFitQuality(double quality) {m_fitQuality = quality;}
57 inline void SetFitNCells(int ncells) {m_fitNCells = ncells;}
58
59 inline void SetPathTop(const std::vector<double>& path)
60 {m_pathTop = path;}
61 inline void SetPathBottom(const std::vector<double>& path)
62 {m_pathBottom = path;}
63 inline void SetEnergyTop(const std::vector<double>& energy)
64 {m_energyTop = energy;}
65 inline void SetEnergyBottom(const std::vector<double>& energy)
66 {m_energyBottom = energy;}
67 inline void SetTrackCellHash(const std::vector<IdentifierHash>& cells)
68 {m_trackCellHash = cells;}
69 inline void SetSegmentPath(const std::vector<double>& path)
70 {m_segmentPath = path;}
71 inline void SetSegmentPartition(const std::vector<int>& partition)
72 {m_segmentPartition = partition;}
73 inline void SetSegmentModule(const std::vector<int>& module)
74 {m_segmentModule = module;}
75 inline void SetSegmentSampling(const std::vector<int>& sampling)
76 {m_segmentSampling = sampling;}
77
78 inline void SetPathTop(std::vector<double>&& path)
79 {m_pathTop = std::move(path);}
80 inline void SetPathBottom(std::vector<double>&& path)
81 {m_pathBottom = std::move(path);}
82 inline void SetEnergyTop(std::vector<double>&& energy)
83 {m_energyTop = std::move(energy);}
84 inline void SetEnergyBottom(std::vector<double>&& energy)
85 {m_energyBottom = std::move(energy);}
86 inline void SetTrackCellHash(std::vector<IdentifierHash>&& cells)
87 {m_trackCellHash = std::move(cells);}
88 inline void SetSegmentPath(std::vector<double>&& path)
89 {m_segmentPath = std::move(path);}
90 inline void SetSegmentPartition(std::vector<int>&& partition)
91 {m_segmentPartition = std::move(partition);}
92 inline void SetSegmentModule(std::vector<int>&& module)
93 {m_segmentModule = std::move(module);}
94 inline void SetSegmentSampling(std::vector<int>&& sampling)
95 {m_segmentSampling = std::move(sampling);}
96
97
99 double GetTime() const {return m_time;}
100 double GetPositionX() const {return m_positionX;}
101 double GetPositionY() const {return m_positionY;}
102 double GetPositionZ() const {return m_positionZ;}
103 double GetDirectionPhi() const {return m_directionPhi;}
104 double GetDirectionTheta() const {return m_directionTheta;}
105 double GetFitQuality() const {return m_fitQuality;}
106 int GetFitNCells() const {return m_fitNCells;}
107 int GetTrackNCells() const {return m_trackCellHash.size();}
108 int GetNSamples() const {return m_pathTop.size();}
109 int GetNSegments() const {return m_segmentPath.size();}
110 double GetPathTop(int ind) const {return m_pathTop[ind];}
111 double GetPathBottom(int ind) const {return m_pathBottom[ind];}
112 double GetEnergyTop(int ind) const {return m_energyTop[ind];}
113 double GetEnergyBottom(int ind) const {return m_energyBottom[ind];}
114 IdentifierHash GetTrackCellHash(int ind) const {return m_trackCellHash[ind];}
115 double GetSegmentPath(int ind) const {return m_segmentPath[ind];}
116 int GetSegmentPartition(int ind) const {return m_segmentPartition[ind];}
117 int GetSegmentModule(int ind) const {return m_segmentModule[ind];}
118 int GetSegmentSampling(int ind) const {return m_segmentSampling[ind];}
119
121 double GetFullPath() const;
123 double GetFullEnergy() const;
124
125 private:
126
127 double m_time;
128 double m_positionX;
129 double m_positionY;
130 double m_positionZ;
135
137 std::vector<double> m_pathTop;
139 std::vector<double> m_pathBottom;
141 std::vector<double> m_energyTop;
143 std::vector<double> m_energyBottom;
144
146 std::vector<IdentifierHash> m_trackCellHash;
147
149 std::vector<double> m_segmentPath;
151 std::vector<int> m_segmentPartition;
153 std::vector<int> m_segmentModule;
155 std::vector<int> m_segmentSampling;
156
157
158};
159
160CLASS_DEF( TileCosmicMuon , 2950 , 0 )
161#endif
Scalar phi() const
phi method
Scalar theta() const
theta method
macros to associate a CLID to a type
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
This is a "hash" representation of an Identifier.
Class containing detailed results from TileMuonFitter.
int GetSegmentPartition(int ind) const
double m_positionZ
Z coordinate of point in track at selected plane (y=0 for cosmics z=0 for beam)
int GetTrackNCells() const
IdentifierHash GetTrackCellHash(int ind) const
void SetSegmentModule(const std::vector< int > &module)
void SetPathBottom(const std::vector< double > &path)
void SetEnergyBottom(const std::vector< double > &energy)
double GetPositionY() const
double m_positionX
X coordinate of point in track at selected plane (y=0 for cosmics z=0 for beam)
double GetPathBottom(int ind) const
std::vector< IdentifierHash > m_trackCellHash
Vector with list of Identifier Hash of cells close to track.
int GetFitNCells() const
double GetFullPath() const
Sum up components of m_pathTop and m_pathBottom: full path in Tile.
void SetPositionZ(double posz)
void SetPositionY(double posy)
void SetEnergyTop(std::vector< double > &&energy)
double GetPositionZ() const
void SetTime(double time)
Setters.
std::vector< int > m_segmentSampling
Vector with segment sampling.
std::vector< int > m_segmentPartition
Vector with segment partition.
void SetDirectionTheta(double theta)
int GetSegmentSampling(int ind) const
double GetDirectionPhi() const
double GetPathTop(int ind) const
void SetSegmentPath(const std::vector< double > &path)
double GetEnergyBottom(int ind) const
TileCosmicMuon()
Constructor.
double GetFullEnergy() const
Sum up components of m_energyTop and m_energyBottom: full energy in track in Tile.
void SetSegmentSampling(const std::vector< int > &sampling)
void SetSegmentPartition(const std::vector< int > &partition)
void SetEnergyTop(const std::vector< double > &energy)
void SetSegmentPath(std::vector< double > &&path)
void SetFitNCells(int ncells)
void SetTrackCellHash(const std::vector< IdentifierHash > &cells)
double m_time
Time of track at selected plane (y=0 for cosmics z=0 for beam)
int GetNSamples() const
double m_positionY
Y coordinate of point in track at selected plane (y=0 for cosmics z=0 for beam)
double m_fitQuality
Fit parameter: 0= no fit; (Hough) 1=fit ok; (Minuit) >0 chi-square.
void SetSegmentSampling(std::vector< int > &&sampling)
double GetFitQuality() const
std::vector< double > m_energyTop
Vector with sum energy of cells close to track on top modules [0]:sampling A; [1]: BC; [2]: D.
std::vector< double > m_pathBottom
Vector with length of track within Tile on bottom modules [0]:sampling A; [1]: BC; [2]: D.
double GetSegmentPath(int ind) const
void SetPathTop(std::vector< double > &&path)
double m_directionTheta
Theta angle of track direction.
void SetPositionX(double posx)
void SetSegmentPartition(std::vector< int > &&partition)
std::vector< double > m_segmentPath
Vector with length of track within Tile on a given segment.
std::vector< double > m_energyBottom
Vector with sum energy of cells close to track on bottom modules [0]:sampling A; [1]: BC; [2]: D.
int GetNSegments() const
void SetPathTop(const std::vector< double > &path)
double GetEnergyTop(int ind) const
void SetSegmentModule(std::vector< int > &&module)
void SetTrackCellHash(std::vector< IdentifierHash > &&cells)
double GetTime() const
Getters.
int m_fitNCells
Number of cells used in fit.
void SetFitQuality(double quality)
int GetSegmentModule(int ind) const
std::string whoami(void) const
void SetPathBottom(std::vector< double > &&path)
std::vector< double > m_pathTop
Vector with length of track within Tile on top modules [0]:sampling A; [1]: BC; [2]: D.
void SetEnergyBottom(std::vector< double > &&energy)
double GetPositionX() const
double m_directionPhi
Phi angle of track direction.
void SetDirectionPhi(double phi)
std::vector< int > m_segmentModule
Vector with segment module.
double GetDirectionTheta() const