ATLAS Offline Software
Loading...
Searching...
No Matches
Csc2dSegmentMaker Class Reference

#include <Csc2dSegmentMaker.h>

Inheritance diagram for Csc2dSegmentMaker:
Collaboration diagram for Csc2dSegmentMaker:

Public Types

typedef std::vector< ClusterTrkClusters
typedef std::vector< ClusterChamberTrkClusters[4]
typedef std::vector< const Trk::RIO_OnTrack * > RioList
typedef DataVector< const Trk::MeasurementBaseMbaseList
typedef Muon::MuonSegmentCombination::SegmentVec SegmentVec
typedef std::vector< SegmentSegments

Public Member Functions

 Csc2dSegmentMaker (const std::string &, const std::string &, const IInterface *)
 ~Csc2dSegmentMaker ()=default
StatusCode initialize ()
std::unique_ptr< MuonSegmentCombinationCollectionfind (const std::vector< const Muon::CscPrepDataCollection * > &pcols, const EventContext &ctx) const
std::unique_ptr< MuonSegmentCombinationCollectionfind (const MuonSegmentCombinationCollection &, const EventContext &ctx) const
ServiceHandle< StoreGateSvc > & evtStore ()
 The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
const ServiceHandle< StoreGateSvc > & detStore () const
 The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
virtual StatusCode sysInitialize () override
 Perform system initialization for an algorithm.
virtual StatusCode sysStart () override
 Handle START transition.
virtual std::vector< Gaudi::DataHandle * > inputHandles () const override
 Return this algorithm's input handles.
virtual std::vector< Gaudi::DataHandle * > outputHandles () const override
 Return this algorithm's output handles.
Gaudi::Details::PropertyBase & declareProperty (Gaudi::Property< T, V, H > &t)
void updateVHKA (Gaudi::Details::PropertyBase &)
MsgStream & msg () const
bool msgLvl (const MSG::Level lvl) const

Static Public Member Functions

static const InterfaceID & interfaceID ()

Protected Member Functions

void renounceArray (SG::VarHandleKeyArray &handlesArray)
 remove all handles from I/O resolution
std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > renounce (T &h)
void extraDeps_update_handler (Gaudi::Details::PropertyBase &ExtraDeps)
 Add StoreName to extra input/output deps as needed.

Private Types

typedef ServiceHandle< StoreGateSvcStoreGateSvc_t

Private Member Functions

Muon::MuonSegmentCombinationfindSegmentCombination (const Muon::CscPrepDataCollection &pcol, const EventContext &ctx) const
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
 specialization for handling Gaudi::Property<SG::VarHandleKey>

Private Attributes

ServiceHandle< Muon::IMuonIdHelperSvcm_idHelperSvc {this, "MuonIdHelperSvc", "Muon::MuonIdHelperSvc/MuonIdHelperSvc"}
Gaudi::Property< std::string > m_cscdig_sg_inkey {this, "scdig_sg_inkey", "CSC_Measurements"}
ToolHandle< ICscSegmentUtilToolm_segmentTool {this, "segmentTool", "CscSegmentUtilTool/CscSegmentUtilTool"}
ToolHandle< Muon::IMuonClusterOnTrackCreatorm_cscClusterOnTrackCreator
PublicToolHandle< Muon::MuonEDMPrinterToolm_printer {this, "printerTool", "Muon::MuonEDMPrinterTool/MuonEDMPrinterTool"}
StoreGateSvc_t m_evtStore
 Pointer to StoreGate (event store by default)
StoreGateSvc_t m_detStore
 Pointer to StoreGate (detector store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
bool m_varHandleArraysDeclared

Detailed Description

Definition at line 24 of file Csc2dSegmentMaker.h.

Member Typedef Documentation

◆ ChamberTrkClusters

typedef std::vector<Cluster> ICscSegmentFinder::ChamberTrkClusters[4]
inherited

Definition at line 83 of file ICscSegmentFinder.h.

◆ MbaseList

Definition at line 86 of file ICscSegmentFinder.h.

◆ RioList

typedef std::vector<const Trk::RIO_OnTrack*> ICscSegmentFinder::RioList
inherited

Definition at line 85 of file ICscSegmentFinder.h.

◆ Segments

typedef std::vector<Segment> ICscSegmentFinder::Segments
inherited

Definition at line 132 of file ICscSegmentFinder.h.

◆ SegmentVec

◆ StoreGateSvc_t

typedef ServiceHandle<StoreGateSvc> AthCommonDataStore< AthCommonMsg< AlgTool > >::StoreGateSvc_t
privateinherited

Definition at line 388 of file AthCommonDataStore.h.

◆ TrkClusters

typedef std::vector<Cluster> ICscSegmentFinder::TrkClusters
inherited

Definition at line 82 of file ICscSegmentFinder.h.

Constructor & Destructor Documentation

◆ Csc2dSegmentMaker()

Csc2dSegmentMaker::Csc2dSegmentMaker ( const std::string & type,
const std::string & aname,
const IInterface * parent )

Definition at line 65 of file Csc2dSegmentMaker.cxx.

65 :
66 AthAlgTool(type, aname, parent) {
67 declareInterface<ICscSegmentFinder>(this);
68}
AthAlgTool()
Default constructor:

◆ ~Csc2dSegmentMaker()

Csc2dSegmentMaker::~Csc2dSegmentMaker ( )
default

Member Function Documentation

◆ declareGaudiProperty()

Gaudi::Details::PropertyBase & AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T, V, H > & hndl,
const SG::VarHandleKeyType &  )
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleKey>

Definition at line 156 of file AthCommonDataStore.h.

158 {
160 hndl.value(),
161 hndl.documentation());
162
163 }
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)

◆ declareProperty()

Gaudi::Details::PropertyBase & AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( Gaudi::Property< T, V, H > & t)
inlineinherited

Definition at line 145 of file AthCommonDataStore.h.

145 {
146 typedef typename SG::HandleClassifier<T>::type htype;
148 }
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>

◆ detStore()

const ServiceHandle< StoreGateSvc > & AthCommonDataStore< AthCommonMsg< AlgTool > >::detStore ( ) const
inlineinherited

The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 95 of file AthCommonDataStore.h.

◆ evtStore()

ServiceHandle< StoreGateSvc > & AthCommonDataStore< AthCommonMsg< AlgTool > >::evtStore ( )
inlineinherited

The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 85 of file AthCommonDataStore.h.

◆ extraDeps_update_handler()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::extraDeps_update_handler ( Gaudi::Details::PropertyBase & ExtraDeps)
protectedinherited

Add StoreName to extra input/output deps as needed.

use the logic of the VarHandleKey to parse the DataObjID keys supplied via the ExtraInputs and ExtraOuputs Properties to add the StoreName if it's not explicitly given

◆ find() [1/2]

std::unique_ptr< MuonSegmentCombinationCollection > Csc2dSegmentMaker::find ( const MuonSegmentCombinationCollection & ,
const EventContext & ctx ) const
virtual

Implements ICscSegmentFinder.

Definition at line 249 of file Csc2dSegmentMaker.cxx.

250 {
251 return {};
252}

◆ find() [2/2]

std::unique_ptr< MuonSegmentCombinationCollection > Csc2dSegmentMaker::find ( const std::vector< const Muon::CscPrepDataCollection * > & pcols,
const EventContext & ctx ) const
virtual

Implements ICscSegmentFinder.

Definition at line 85 of file Csc2dSegmentMaker.cxx.

86 {
87 // Construct output segment collection.
88 std::unique_ptr<MuonSegmentCombinationCollection> mpsegs(new MuonSegmentCombinationCollection);
89
90 for (unsigned int icol = 0; icol < pcols.size(); ++icol) {
91 const CscPrepDataCollection* clus = pcols[icol];
92 if (clus->empty()) continue; // skip zero cluster collection
93 break;
94 }
95
96 unsigned int col_count = 0;
97 // Loop over collections in the container.
98 for (unsigned int icol = 0; icol < pcols.size(); ++icol) {
99 const CscPrepDataCollection* clus = pcols[icol];
100 ++col_count;
101 ATH_MSG_VERBOSE("** Collection " << col_count << " has " << clus->size() << " clusters");
102
103 if (clus->empty()) continue; // skip zero cluster collection
104 MuonSegmentCombination* pcol = findSegmentCombination(*clus, ctx);
105 if (pcol) {
106 mpsegs->push_back(pcol);
107 ATH_MSG_DEBUG("Found 2d CSC segment " << m_printer->print(*pcol));
108 }
109 }
110
111 if (!mpsegs->empty())
112 ATH_MSG_DEBUG("found " << mpsegs->size() << " 2d csc segments");
113 else
114 mpsegs.reset();
115
116 return mpsegs;
117}
#define ATH_MSG_VERBOSE(x)
#define ATH_MSG_DEBUG(x)
DataVector< Muon::MuonSegmentCombination > MuonSegmentCombinationCollection
This typedef represents a collection of MuonSegmentCombination objects.
PublicToolHandle< Muon::MuonEDMPrinterTool > m_printer
Muon::MuonSegmentCombination * findSegmentCombination(const Muon::CscPrepDataCollection &pcol, const EventContext &ctx) const
size_type size() const noexcept
bool empty() const noexcept
MuonPrepDataCollection< CscPrepData > CscPrepDataCollection

◆ findSegmentCombination()

MuonSegmentCombination * Csc2dSegmentMaker::findSegmentCombination ( const Muon::CscPrepDataCollection & pcol,
const EventContext & ctx ) const
private

Definition at line 121 of file Csc2dSegmentMaker.cxx.

121 {
122 // check whether input not empty
123 if (clus.empty()) return nullptr;
124
125 int col_station = 0;
126 int col_eta = 0;
127 int col_phisec = 0;
128 Identifier eta_id, phi_id;
129
130 ChamberTrkClusters eta_clus, phi_clus;
131
132 const MuonGM::CscReadoutElement* detEl = clus.front()->detectorElement();
133 if (!detEl) {
134 ATH_MSG_WARNING("Failed to obtain CscReadoutElement for cluster");
135 return nullptr;
136 }
137 Amg::Transform3D gToLocal = detEl->GlobalToAmdbLRSTransform();
138 Amg::Vector3D lpos000 = gToLocal * Amg::Vector3D(0.0, 0.0, 0.0);
139
140 int stationEta = detEl->getStationEta();
141 int stationPhi = detEl->getStationPhi();
142 int chamberLayer = detEl->ChamberLayer();
143 std::string stationName = detEl->getStationName();
144 std::string redName = stationName.substr(0, 3); // CSS or CSL, all that the CscIdHelper wants
145 std::string isPhi;
146 ATH_MSG_DEBUG("in station " << stationName << " eta " << stationEta << ", phi " << stationPhi << ", chamber layer " << chamberLayer);
147 // new method: we no longer assume automatically that eta and phi go together
148 // this is the usual reason for problems due to broken wires, but it need not always be the case
149 // instead, pass the status of every layer to the CscSegmentUtilTool
150 // if there are only 2 layers for eta or phi, do 2-layer segment finding for eta or phi
151 // if there are fewer than two good layers for eta or phi, so no eta or phi segment can be made, the final segment need not include
152 // information from the missing side
153
154 int layStatus[2] = {
155 0, 0}; // eta=0,phi=1; each decimal place will be 0 for good, 1 for bad, so 1001 means first and 4th layers are bad, etc.
156 for (int iLay = 0; iLay < 4; iLay++) { // loop over the layers in this chamber
157 for (int iPhi = 0; iPhi < 2; iPhi++) { // eta or phi
158 int nbad = 0;
159 if (iPhi)
160 isPhi = "phi";
161 else
162 isPhi = "eta";
163 // ATH_MSG_DEBUG("get hashes for "<<detEl->maxNumberOfStrips(iPhi)<<" strips ");
164 for (int iStrip = 0; iStrip < detEl->maxNumberOfStrips(iPhi); iStrip++) {
165 ATH_MSG_DEBUG("get strip quality for " << isPhi << " layer " << iLay << " strip " << iStrip);
166 Identifier stripId =
167 m_idHelperSvc->cscIdHelper().channelID(redName, stationEta, stationPhi, chamberLayer, iLay + 1, iPhi, iStrip + 1);
168 IdentifierHash hashID;
169 m_idHelperSvc->cscIdHelper().get_channel_hash(stripId, hashID);
170 if (!m_segmentTool->isGood(hashID, ctx)) {
171 ATH_MSG_DEBUG("bad strip");
172 nbad++;
173 }
174 }
175 ATH_MSG_DEBUG("found " << nbad << " bad strips out of " << detEl->maxNumberOfStrips(iPhi) << " in " << isPhi << " layer "
176 << iLay);
177 if (nbad == detEl->maxNumberOfStrips(iPhi)) { layStatus[iPhi] += pow(10, iLay); }
178 }
179 }
180 ATH_MSG_DEBUG("final status for eta is " << layStatus[0] << " and phi " << layStatus[1]);
181
182 for (CscPrepDataCollection::const_iterator iclu = clus.begin(); iclu != clus.end(); ++iclu) {
183 const CscPrepData* pclu = *iclu;
184 Identifier id = pclu->identify();
185 int station = m_idHelperSvc->cscIdHelper().stationName(id) - 49;
186 int eta = m_idHelperSvc->cscIdHelper().stationEta(id);
187 int phisec = m_idHelperSvc->cscIdHelper().stationPhi(id);
188 int iwlay = m_idHelperSvc->cscIdHelper().wireLayer(id);
189 bool measphi = m_idHelperSvc->cscIdHelper().measuresPhi(id);
190
191 if (iclu == clus.begin()) {
192 col_station = station;
193 col_eta = eta;
194 col_phisec = phisec;
195 }
196 ATH_MSG_DEBUG("****** " << chamber(station, eta, phisec) << measphi_name(measphi) << iwlay);
197
198 if (station != col_station || eta != col_eta || phisec != col_phisec) {
199 ATH_MSG_WARNING("Inconsistent collection contents");
200 return nullptr;
201 }
202
203 const Muon::MuonClusterOnTrack* clu = m_cscClusterOnTrackCreator->createRIO_OnTrack(*pclu, pclu->globalPosition());
204 const Muon::CscClusterOnTrack* ptclu = dynamic_cast<const Muon::CscClusterOnTrack*>(clu);
205 if (!ptclu) {
206 ATH_MSG_WARNING("Failed to create CscClusterOnTrack from PRD");
207 delete clu;
208 continue;
209 }
210 Amg::Vector3D lpos = gToLocal * ptclu->globalPosition();
211 if (measphi) {
212 phi_id = id;
213 phi_clus[iwlay - 1].emplace_back(lpos, ptclu, measphi);
214 } else {
215 eta_id = id;
216 eta_clus[iwlay - 1].emplace_back(lpos, ptclu, measphi);
217 }
218 }
219
220 // Insert r-phi-segments.
221
222 int nHitLayer_eta = 0;
223 int nHitLayer_phi = 0;
224 for (int i = 0; i < 4; ++i) {
225 if (!eta_clus[i].empty()) ++nHitLayer_eta;
226 if (!phi_clus[i].empty()) ++nHitLayer_phi;
227 }
228 ATH_MSG_DEBUG("there are " << nHitLayer_eta << " eta hit layers and " << nHitLayer_phi << " phi hit layers");
229
230 // MuonSegmentCombination* pcol;
231 MuonSegmentCombination* pcol = nullptr;
232 if (nHitLayer_eta >= 2 || nHitLayer_phi >= 2) {
233 ATH_MSG_DEBUG("Csc2dSegment calls get2dMuonSegmentCombination !!!");
234 pcol = m_segmentTool->get2dMuonSegmentCombination(eta_id, phi_id, eta_clus, phi_clus, lpos000, ctx, layStatus[0], layStatus[1]);
235 }
236
237 // to avoid memory leak
238 for (unsigned int i = 0; i < 4; ++i) {
239 for (TrkClusters::iterator itclus = eta_clus[i].begin(); itclus != eta_clus[i].end(); ++itclus) { delete itclus->cl; }
240 eta_clus[i].clear();
241 for (TrkClusters::iterator itclus = phi_clus[i].begin(); itclus != phi_clus[i].end(); ++itclus) { delete itclus->cl; }
242 phi_clus[i].clear();
243 }
244
245 return pcol;
246}
Scalar eta() const
pseudorapidity method
#define ATH_MSG_WARNING(x)
static const Attributes_t empty
constexpr int pow(int base, int exp) noexcept
ToolHandle< ICscSegmentUtilTool > m_segmentTool
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
ToolHandle< Muon::IMuonClusterOnTrackCreator > m_cscClusterOnTrackCreator
DataModel_detail::const_iterator< DataVector > const_iterator
Definition DataVector.h:838
std::vector< Cluster > ChamberTrkClusters[4]
int maxNumberOfStrips(int measuresPhi) const
virtual const Amg::Vector3D & globalPosition() const override final
Returns the global position.
virtual const Amg::Vector3D & globalPosition() const override
Returns global position.
Identifier identify() const
return the identifier
Eigen::Affine3d Transform3D
Eigen::Matrix< double, 3, 1 > Vector3D
constexpr uint8_t stationPhi
station Phi 1 to 8
@ iPhi
Definition ParamDefs.h:47

◆ initialize()

StatusCode Csc2dSegmentMaker::initialize ( )

Definition at line 72 of file Csc2dSegmentMaker.cxx.

72 {
73 ATH_MSG_DEBUG("Initializing " << name());
74 // Show keys.
75 ATH_MSG_DEBUG(" SegmentTool: " << m_segmentTool.typeAndName());
76 ATH_MSG_DEBUG(" Input cscdig key: " << m_cscdig_sg_inkey);
77 ATH_CHECK(m_idHelperSvc.retrieve());
78 ATH_CHECK(m_segmentTool.retrieve());
80 ATH_CHECK(m_printer.retrieve());
81 return StatusCode::SUCCESS;
82}
#define ATH_CHECK
Evaluate an expression and check for errors.
Gaudi::Property< std::string > m_cscdig_sg_inkey

◆ inputHandles()

virtual std::vector< Gaudi::DataHandle * > AthCommonDataStore< AthCommonMsg< AlgTool > >::inputHandles ( ) const
overridevirtualinherited

Return this algorithm's input handles.

We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.

◆ interfaceID()

const InterfaceID & ICscSegmentFinder::interfaceID ( )
inlinestaticinherited

Definition at line 31 of file ICscSegmentFinder.h.

31{ return IID_ICscSegmentFinder; }
static const InterfaceID IID_ICscSegmentFinder("ICscSegmentFinder", 1, 0)
Must declare this, with name of interface.

◆ msg()

MsgStream & AthCommonMsg< AlgTool >::msg ( ) const
inlineinherited

Definition at line 24 of file AthCommonMsg.h.

24 {
25 return this->msgStream();
26 }

◆ msgLvl()

bool AthCommonMsg< AlgTool >::msgLvl ( const MSG::Level lvl) const
inlineinherited

Definition at line 30 of file AthCommonMsg.h.

30 {
31 return this->msgLevel(lvl);
32 }

◆ outputHandles()

virtual std::vector< Gaudi::DataHandle * > AthCommonDataStore< AthCommonMsg< AlgTool > >::outputHandles ( ) const
overridevirtualinherited

Return this algorithm's output handles.

We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.

◆ renounce()

std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > AthCommonDataStore< AthCommonMsg< AlgTool > >::renounce ( T & h)
inlineprotectedinherited

Definition at line 380 of file AthCommonDataStore.h.

381 {
382 h.renounce();
384 }
std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > renounce(T &h)

◆ renounceArray()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::renounceArray ( SG::VarHandleKeyArray & handlesArray)
inlineprotectedinherited

remove all handles from I/O resolution

Definition at line 364 of file AthCommonDataStore.h.

364 {
366 }

◆ sysInitialize()

virtual StatusCode AthCommonDataStore< AthCommonMsg< AlgTool > >::sysInitialize ( )
overridevirtualinherited

Perform system initialization for an algorithm.

We override this to declare all the elements of handle key arrays at the end of initialization. See comments on updateVHKA.

Reimplemented in asg::AsgMetadataTool, AthCheckedComponent< AthAlgTool >, AthCheckedComponent<::AthAlgTool >, and DerivationFramework::CfAthAlgTool.

◆ sysStart()

virtual StatusCode AthCommonDataStore< AthCommonMsg< AlgTool > >::sysStart ( )
overridevirtualinherited

Handle START transition.

We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.

◆ updateVHKA()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::updateVHKA ( Gaudi::Details::PropertyBase & )
inlineinherited

Definition at line 308 of file AthCommonDataStore.h.

308 {
309 // debug() << "updateVHKA for property " << p.name() << " " << p.toString()
310 // << " size: " << m_vhka.size() << endmsg;
311 for (auto &a : m_vhka) {
313 for (auto k : keys) {
314 k->setOwner(this);
315 }
316 }
317 }
std::vector< SG::VarHandleKeyArray * > m_vhka

Member Data Documentation

◆ m_cscClusterOnTrackCreator

ToolHandle<Muon::IMuonClusterOnTrackCreator> Csc2dSegmentMaker::m_cscClusterOnTrackCreator
private
Initial value:
{this, "cscRotCreator",
"Muon::CscClusterOnTrackCreator/CscClusterOnTrackCreator"}

Definition at line 44 of file Csc2dSegmentMaker.h.

44 {this, "cscRotCreator",
45 "Muon::CscClusterOnTrackCreator/CscClusterOnTrackCreator"};

◆ m_cscdig_sg_inkey

Gaudi::Property<std::string> Csc2dSegmentMaker::m_cscdig_sg_inkey {this, "scdig_sg_inkey", "CSC_Measurements"}
private

Definition at line 41 of file Csc2dSegmentMaker.h.

41{this, "scdig_sg_inkey", "CSC_Measurements"};

◆ m_detStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< AlgTool > >::m_detStore
privateinherited

Pointer to StoreGate (detector store by default)

Definition at line 393 of file AthCommonDataStore.h.

◆ m_evtStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< AlgTool > >::m_evtStore
privateinherited

Pointer to StoreGate (event store by default)

Definition at line 390 of file AthCommonDataStore.h.

◆ m_idHelperSvc

ServiceHandle<Muon::IMuonIdHelperSvc> Csc2dSegmentMaker::m_idHelperSvc {this, "MuonIdHelperSvc", "Muon::MuonIdHelperSvc/MuonIdHelperSvc"}
private

Definition at line 39 of file Csc2dSegmentMaker.h.

39{this, "MuonIdHelperSvc", "Muon::MuonIdHelperSvc/MuonIdHelperSvc"};

◆ m_printer

PublicToolHandle<Muon::MuonEDMPrinterTool> Csc2dSegmentMaker::m_printer {this, "printerTool", "Muon::MuonEDMPrinterTool/MuonEDMPrinterTool"}
private

Definition at line 46 of file Csc2dSegmentMaker.h.

46{this, "printerTool", "Muon::MuonEDMPrinterTool/MuonEDMPrinterTool"};

◆ m_segmentTool

ToolHandle<ICscSegmentUtilTool> Csc2dSegmentMaker::m_segmentTool {this, "segmentTool", "CscSegmentUtilTool/CscSegmentUtilTool"}
private

Definition at line 43 of file Csc2dSegmentMaker.h.

43{this, "segmentTool", "CscSegmentUtilTool/CscSegmentUtilTool"};

◆ m_varHandleArraysDeclared

bool AthCommonDataStore< AthCommonMsg< AlgTool > >::m_varHandleArraysDeclared
privateinherited

Definition at line 399 of file AthCommonDataStore.h.

◆ m_vhka

std::vector<SG::VarHandleKeyArray*> AthCommonDataStore< AthCommonMsg< AlgTool > >::m_vhka
privateinherited

Definition at line 398 of file AthCommonDataStore.h.


The documentation for this class was generated from the following files: