ATLAS Offline Software
Loading...
Searching...
No Matches
GeoGetIds.cxx
Go to the documentation of this file.
1/*
2 * Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration.
3 */
10
11
13
14
16 int depthLimit /*= 1*/)
17 : m_action (action)
18{
19 setDepthLimit (depthLimit);
20}
21
22
23void GeoGetIds::handleSerialTransformer (const GeoSerialTransformer *sT)
24{
26 int idbase = m_serialIdentifier->getBaseId();
27 for (unsigned int i=0; i < sT->getNCopies(); i++) {
28 m_action (idbase + i);
29 }
30 }
31}
32
33
34void GeoGetIds::handleIdentifierTag (const GeoIdentifierTag *idTag)
35{
36 m_serialIdentifier = nullptr;
37 m_action (idTag->getIdentifier());
38}
39
40
41void GeoGetIds::handleSerialIdentifier(const GeoSerialIdentifier *sI)
42{
44}
Visitor to collect all IDs under a GeoModel node.
virtual void handleIdentifierTag(const GeoIdentifierTag *idTag) override
Definition GeoGetIds.cxx:34
virtual void handleSerialIdentifier(const GeoSerialIdentifier *sI) override
Definition GeoGetIds.cxx:41
IGeoGetIdsAction & m_action
Definition GeoGetIds.h:50
virtual void handleSerialTransformer(const GeoSerialTransformer *sT) override
Definition GeoGetIds.cxx:23
GeoGetIds(IGeoGetIdsAction &action, int depthLimit=1)
Definition GeoGetIds.cxx:15
const GeoSerialIdentifier * m_serialIdentifier
Definition GeoGetIds.h:51
Ensure that the extensions for the Vector3D are properly loaded.
Definition GeoGetIds.h:28