ATLAS Offline Software
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 
24 class Csc2dSegmentMaker : virtual public ICscSegmentFinder, public AthAlgTool {
25 public:
26  Csc2dSegmentMaker(const std::string&, const std::string&, const IInterface*);
27 
28  ~Csc2dSegmentMaker() = default;
29 
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 
36 private:
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
ICscSegmentFinder
Definition: ICscSegmentFinder.h:28
Muon::MuonSegmentCombination
Definition: MuonSegmentCombination.h:30
Csc2dSegmentMaker::m_printer
PublicToolHandle< Muon::MuonEDMPrinterTool > m_printer
Definition: Csc2dSegmentMaker.h:46
MuonEDMPrinterTool.h
Csc2dSegmentMaker::find
std::unique_ptr< MuonSegmentCombinationCollection > find(const std::vector< const Muon::CscPrepDataCollection * > &pcols, const EventContext &ctx) const
Definition: Csc2dSegmentMaker.cxx:85
Csc2dSegmentMaker::m_cscdig_sg_inkey
Gaudi::Property< std::string > m_cscdig_sg_inkey
Definition: Csc2dSegmentMaker.h:41
Csc2dSegmentMaker::~Csc2dSegmentMaker
~Csc2dSegmentMaker()=default
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
IMuonClusterOnTrackCreator.h
AthAlgTool.h
Muon::MuonPrepDataCollection
Template to hold collections of MuonPrepRawData objects.
Definition: MuonPrepDataCollection.h:46
DataVector< Muon::MuonSegmentCombination >
Csc2dSegmentMaker::m_idHelperSvc
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
Definition: Csc2dSegmentMaker.h:39
Csc2dSegmentMaker::findSegmentCombination
Muon::MuonSegmentCombination * findSegmentCombination(const Muon::CscPrepDataCollection &pcol, const EventContext &ctx) const
Definition: Csc2dSegmentMaker.cxx:121
ICscSegmentUtilTool.h
Csc2dSegmentMaker::m_cscClusterOnTrackCreator
ToolHandle< Muon::IMuonClusterOnTrackCreator > m_cscClusterOnTrackCreator
Definition: Csc2dSegmentMaker.h:44
Csc2dSegmentMaker::m_segmentTool
ToolHandle< ICscSegmentUtilTool > m_segmentTool
Definition: Csc2dSegmentMaker.h:43
AthAlgTool
Definition: AthAlgTool.h:26
IMuonIdHelperSvc.h
ICscSegmentFinder.h
Csc2dSegmentMaker
Definition: Csc2dSegmentMaker.h:24
Csc2dSegmentMaker::initialize
StatusCode initialize()
Definition: Csc2dSegmentMaker.cxx:72
Csc2dSegmentMaker::Csc2dSegmentMaker
Csc2dSegmentMaker(const std::string &, const std::string &, const IInterface *)
Definition: Csc2dSegmentMaker.cxx:65
ServiceHandle< Muon::IMuonIdHelperSvc >