ATLAS Offline Software
Loading...
Searching...
No Matches
Csc2dSegmentMaker.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef Csc2dSegmentMaker_H
6#define Csc2dSegmentMaker_H
7
8// Algorithm to find CSC 2D segments from clusters.
9//
10// Segmetns are witten as MuonSegment objects to a
11// MuonSegmentCombinationCollection. There is a separate combination for
12// each chamber (with segments) and separate r and phi collections
13// for each combination.
14
18#include "GaudiKernel/ServiceHandle.h"
19#include "GaudiKernel/ToolHandle.h"
23
24class Csc2dSegmentMaker : virtual public ICscSegmentFinder, public AthAlgTool {
25public:
26 Csc2dSegmentMaker(const std::string&, const std::string&, const IInterface*);
27
28 ~Csc2dSegmentMaker() = default;
29
30 StatusCode initialize();
31
32 std::unique_ptr<MuonSegmentCombinationCollection> find(const std::vector<const Muon::CscPrepDataCollection*>& pcols,
33 const EventContext& ctx) const;
34 std::unique_ptr<MuonSegmentCombinationCollection> find(const MuonSegmentCombinationCollection&, const EventContext& ctx) const;
35
36private:
37 Muon::MuonSegmentCombination* findSegmentCombination(const Muon::CscPrepDataCollection& pcol, const EventContext& ctx) const;
38
39 ServiceHandle<Muon::IMuonIdHelperSvc> m_idHelperSvc{this, "MuonIdHelperSvc", "Muon::MuonIdHelperSvc/MuonIdHelperSvc"};
40
41 Gaudi::Property<std::string> m_cscdig_sg_inkey{this, "scdig_sg_inkey", "CSC_Measurements"};
42
43 ToolHandle<ICscSegmentUtilTool> m_segmentTool{this, "segmentTool", "CscSegmentUtilTool/CscSegmentUtilTool"};
44 ToolHandle<Muon::IMuonClusterOnTrackCreator> m_cscClusterOnTrackCreator{this, "cscRotCreator",
45 "Muon::CscClusterOnTrackCreator/CscClusterOnTrackCreator"};
46 PublicToolHandle<Muon::MuonEDMPrinterTool> m_printer{this, "printerTool", "Muon::MuonEDMPrinterTool/MuonEDMPrinterTool"};
47};
48
49#endif
DataVector< Muon::MuonSegmentCombination > MuonSegmentCombinationCollection
This typedef represents a collection of MuonSegmentCombination objects.
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
std::unique_ptr< MuonSegmentCombinationCollection > find(const std::vector< const Muon::CscPrepDataCollection * > &pcols, const EventContext &ctx) const
ToolHandle< ICscSegmentUtilTool > m_segmentTool
Csc2dSegmentMaker(const std::string &, const std::string &, const IInterface *)
PublicToolHandle< Muon::MuonEDMPrinterTool > m_printer
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
ToolHandle< Muon::IMuonClusterOnTrackCreator > m_cscClusterOnTrackCreator
~Csc2dSegmentMaker()=default
Gaudi::Property< std::string > m_cscdig_sg_inkey
Muon::MuonSegmentCombination * findSegmentCombination(const Muon::CscPrepDataCollection &pcol, const EventContext &ctx) const
Class to hold a set of MuonSegments belonging together.
MuonPrepDataCollection< CscPrepData > CscPrepDataCollection