ATLAS Offline Software
Loading...
Searching...
No Matches
ICscSegmentUtilTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3*/
4
5// ICscSegmentUtilTool.h
6
7#ifndef ICscSegmentUtilTool_H
8#define ICscSegmentUtilTool_H
9
11#include "GaudiKernel/IAlgTool.h"
13
14namespace Muon {
16 class MuonSegment;
18} // namespace Muon
19
20namespace Trk {
21 class PlaneSurface;
22 class RIO_OnTrack;
23} // namespace Trk
24
25class Identifier;
26
28static const InterfaceID IID_ICscSegmentUtilTool("ICscSegmentUtilTool", 1, 0);
29
30class ICscSegmentUtilTool : virtual public IAlgTool {
31public: // Static methods
32 // Return the interface ID.
33 static const InterfaceID& interfaceID() { return IID_ICscSegmentUtilTool; }
34
35public: // Interface methods
36 // Return the counts of spoiled and unspoiled measurements from a list
37 // of RIOS's.
38 virtual void spoiled_count(const std::vector<const Trk::RIO_OnTrack*>& rios, double threshold, int& nspoil, int& nunspoil) = 0;
39 virtual void spoiled_count(const std::vector<const Trk::RIO_OnTrack*>& rios, int& nspoil, int& nunspoil) = 0;
40 virtual void spoiled_count(const std::vector<const Trk::RIO_OnTrack*>& rios, int& nspoil, int& nunspoil, int& spoilmap) = 0;
41
42 // Fit a RIO residual.
43 virtual void fit_rio_residual(const Trk::PlaneSurface& ssrf, bool dump, const std::vector<const Trk::RIO_OnTrack*>& clus,
44 unsigned int irclu, double& res, double& dres, double& rs, double& drs // for 3pt-method
45 ) const = 0;
46
47 // Get 2d segments eta/phi seperately
51 const Amg::Vector3D& lpos000, const EventContext& ctx,
52 int etaStat = 0, int phiStat = 0) const = 0;
53
57 const Amg::Vector3D& lpos000, const EventContext& ctx) const = 0;
58
59 // Get 2d segments eta/phi seperately
61 const EventContext& ctx) const = 0;
62
63 virtual std::unique_ptr<std::vector<std::unique_ptr<Muon::MuonSegment> > > getMuonSegments(
65 ICscSegmentFinder::ChamberTrkClusters& phi_clus, const Amg::Vector3D& lpos000, const EventContext& ctx) const = 0;
66
67 virtual bool isGood(uint32_t stripHashId, const EventContext& ctx) const = 0;
68};
69#endif
static const InterfaceID IID_ICscSegmentUtilTool("ICscSegmentUtilTool", 1, 0)
Must declare this, with name of interface.
std::pair< std::vector< unsigned int >, bool > res
static Double_t rs
std::vector< Cluster > ChamberTrkClusters[4]
virtual void fit_rio_residual(const Trk::PlaneSurface &ssrf, bool dump, const std::vector< const Trk::RIO_OnTrack * > &clus, unsigned int irclu, double &res, double &dres, double &rs, double &drs) const =0
static const InterfaceID & interfaceID()
virtual std::unique_ptr< std::vector< std::unique_ptr< Muon::MuonSegment > > > getMuonSegments(Identifier eta_id, Identifier phi_id, ICscSegmentFinder::ChamberTrkClusters &eta_clus, ICscSegmentFinder::ChamberTrkClusters &phi_clus, const Amg::Vector3D &lpos000, const EventContext &ctx) const =0
virtual void spoiled_count(const std::vector< const Trk::RIO_OnTrack * > &rios, double threshold, int &nspoil, int &nunspoil)=0
virtual bool isGood(uint32_t stripHashId, const EventContext &ctx) const =0
virtual void spoiled_count(const std::vector< const Trk::RIO_OnTrack * > &rios, int &nspoil, int &nunspoil)=0
virtual Muon::MuonSegmentCombination * get4dMuonSegmentCombination(const Muon::MuonSegmentCombination *Muon2dSegComb, const EventContext &ctx) const =0
virtual Muon::MuonSegmentCombination * get2dMuonSegmentCombination(Identifier eta_id, Identifier phi_id, ICscSegmentFinder::ChamberTrkClusters &eta_clus, ICscSegmentFinder::ChamberTrkClusters &phi_clus, const Amg::Vector3D &lpos000, const EventContext &ctx, int etaStat=0, int phiStat=0) const =0
virtual void spoiled_count(const std::vector< const Trk::RIO_OnTrack * > &rios, int &nspoil, int &nunspoil, int &spoilmap)=0
virtual Muon::MuonSegmentCombination * get4dMuonSegmentCombination(Identifier eta_id, Identifier phi_id, ICscSegmentFinder::ChamberTrkClusters &eta_clus, ICscSegmentFinder::ChamberTrkClusters &phi_clus, const Amg::Vector3D &lpos000, const EventContext &ctx) const =0
Class to represent the calibrated clusters created from CSC strips.
Class to hold a set of MuonSegments belonging together.
This is the common class for 3D segments used in the muon spectrometer.
Class for a planaer rectangular or trapezoidal surface in the ATLAS detector.
Class to handle RIO On Tracks ROT) for InDet and Muons, it inherits from the common MeasurementBase.
Definition RIO_OnTrack.h:70
Eigen::Matrix< double, 3, 1 > Vector3D
NRpcCablingAlg reads raw condition data and writes derived condition data to the condition store.
Ensure that the ATLAS eigen extensions are properly loaded.
-event-from-file