ATLAS Offline Software
Loading...
Searching...
No Matches
Csc4dSegmentMaker.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#ifndef Csc4dSegmentMaker_H
6#define Csc4dSegmentMaker_H
7
8// Algorithm to find CSC 4D 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
15#include <atomic>
16
18#include "CscSegmentMakers/ICscSegmentFinder.h" //including MuonSegmentCombination(Collection).h CscPrepDataContainer.h"
19#include "GaudiKernel/ToolHandle.h"
20#include "Identifier/Identifier.h"
22
24
25namespace Track {
26 class TrackRaod;
27 class RIO_OnTrack;
28} // namespace Track
29
30namespace Muon {
34 class MuonSegment;
35} // namespace Muon
36
37class Csc4dSegmentMaker : virtual public ICscSegmentFinder, public AthAlgTool {
38public: // methods
39 // Constructor.
40 Csc4dSegmentMaker(const std::string&, const std::string&, const IInterface*);
41
42 // Destructor.
44
45 // Initialization.
46 StatusCode initialize() override;
47
48 std::unique_ptr<MuonSegmentCombinationCollection> find(const MuonSegmentCombinationCollection&, const EventContext& ctx) const override;
49 std::unique_ptr<MuonSegmentCombinationCollection> find(const std::vector<const Muon::CscPrepDataCollection*>& pcols,
50 const EventContext& ctx) const override; // not used here
51
52private: // data
53 // Properties.
54 // Number of events dumped.
55 Gaudi::Property<double> m_max_chisquare{this, "max_chisquare", 25.};
56 Gaudi::Property<double> m_max_slope_r{this, "max_slope_r", 0.2};
57 Gaudi::Property<double> m_max_slope_phi{this, "max_slope_phi", 0.2};
58 Gaudi::Property<double> m_max_seg_per_chamber{this, "max_seg_per_chamber", 50};
59
60 ToolHandle<ICscSegmentUtilTool> m_segmentTool{
61 this,
62 "segmentTool",
63 "CscSegmentUtilTool/CscSegmentUtilTool",
64 };
65 PublicToolHandle<Muon::MuonEDMPrinterTool> m_printer{
66 this,
67 "Printer",
68 "Muon::MuonEDMPrinterTool/MuonEDMPrinterTool",
69 };
70};
71
72#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:
Gaudi::Property< double > m_max_slope_phi
Csc4dSegmentMaker(const std::string &, const std::string &, const IInterface *)
Gaudi::Property< double > m_max_chisquare
std::unique_ptr< MuonSegmentCombinationCollection > find(const MuonSegmentCombinationCollection &, const EventContext &ctx) const override
Gaudi::Property< double > m_max_slope_r
StatusCode initialize() override
virtual ~Csc4dSegmentMaker()
Gaudi::Property< double > m_max_seg_per_chamber
PublicToolHandle< Muon::MuonEDMPrinterTool > m_printer
ToolHandle< ICscSegmentUtilTool > m_segmentTool
This class represents the corrected MDT measurements, where the corrections include the effects of wi...
Base class for Muon cluster RIO_OnTracks.
Helper tool to print EDM objects to string in a fix format.
This is the common class for 3D segments used in the muon spectrometer.
NRpcCablingAlg reads raw condition data and writes derived condition data to the condition store.