00001 #ifndef XAODMUON_VERSIONS_MUONSEGMENT_V1_H
00002 #define XAODMUON_VERSIONS_MUONSEGMENT_V1_H
00003
00004
00005
00006
00007 #include "AthContainers/AuxElement.h"
00008 #include "AthLinks/ElementLink.h"
00009 #include "MuonIdHelpers/MuonStationIndex.h"
00010
00011
00012
00013
00014 #ifndef XAOD_ANALYSIS
00015 #include "TrkSegment/SegmentCollection.h"
00016 #endif
00017
00018
00019
00020 namespace xAOD {
00021
00029 class MuonSegment_v1 : public SG::AuxElement {
00030
00031 public:
00032
00034 MuonSegment_v1();
00035
00040 float x() const;
00042 float y() const;
00044 float z() const;
00046 void setPosition(float x, float y, float z);
00048
00053 float px() const;
00055 float py() const;
00057 float pz() const;
00059 void setDirection(float px, float py, float pz);
00061
00066 float t0() const;
00068 float t0error() const;
00070 void setT0Error(float t0, float t0Error);
00072
00077 float chiSquared() const;
00079 float numberDoF() const;
00081 void setFitQuality(float chiSquared, float numberDoF);
00083
00088 int sector() const;
00090 Muon::MuonStationIndex::ChIndex chamberIndex() const;
00092 int etaIndex() const;
00094 Muon::MuonStationIndex::TechnologyIndex technology() const;
00096 void setIdentifier(int sector, Muon::MuonStationIndex::ChIndex chamberIndex, int etaIndex, Muon::MuonStationIndex::TechnologyIndex technology);
00098
00103 int nPrecisionHits() const;
00105 int nPhiLayers() const;
00107 int nTrigEtaLayers() const;
00109 void setNHits(int nPrecisionHits, int nPhiLayers, int nTrigEtaLayers);
00111
00112 #ifndef XAOD_ANALYSIS
00113 const ElementLink< ::Trk::SegmentCollection >& muonSegment() const;
00114 void setMuonSegment(const ElementLink< ::Trk::SegmentCollection >& segment);
00115 #endif
00116
00117 };
00118
00119 }
00120
00121 #endif // XAODMUON_VERSIONS_MUONSEGMENT_V1_H