Project
Loading...
Searching...
No Matches
ITrackingGeometryBuilder.h
Go to the documentation of this file.
1// Copyright 2019-2026 CERN and copyright holders of ALICE O2.
2// See https://alice-o2.web.cern.ch/copyright for details of the copyright holders.
3// All rights not expressly granted are reserved.
4//
5// This software is distributed under the terms of the GNU General Public
6// License v3 (GPL Version 3), copied verbatim in the file "COPYING".
7//
8// In applying this license CERN does not waive the privileges and immunities
9// granted to it by virtue of its status as an Intergovernmental Organization
10// or submit itself to any jurisdiction.
11
17
18#ifndef ALICEO2_ACTS_ITRACKINGGEOMETRYBUILDER_H
19#define ALICEO2_ACTS_ITRACKINGGEOMETRYBUILDER_H
20
21#include <memory>
22#include <vector>
23
24#include "Acts/Geometry/GeometryContext.hpp"
25#include "Acts/Geometry/TrackingGeometry.hpp"
26#include "Acts/Surfaces/SurfacePlacementBase.hpp"
27
29
30class TGeoManager;
31
32namespace o2::acts
33{
34
40 std::shared_ptr<Acts::TrackingGeometry> geometry;
41
48 std::vector<std::shared_ptr<const Acts::SurfacePlacementBase>> elementStore;
49
52};
53
61{
62 public:
63 virtual ~ITrackingGeometryBuilder() = default;
64
71 virtual TrackingGeometryOutput build(TGeoManager& tgeo, const Acts::GeometryContext& gctx) = 0;
72
74 virtual const char* getName() const = 0;
75};
76
77} // namespace o2::acts
78
79#endif // ALICEO2_ACTS_ITRACKINGGEOMETRYBUILDER_H
Lookup between O2 sensor indices and ACTS surfaces.
virtual ~ITrackingGeometryBuilder()=default
virtual TrackingGeometryOutput build(TGeoManager &tgeo, const Acts::GeometryContext &gctx)=0
virtual const char * getName() const =0
Short name, used in log messages.
std::vector< std::shared_ptr< const Acts::SurfacePlacementBase > > elementStore
SurfaceIndexMap index
Sensor <-> surface lookup. May be empty if the builder cannot provide one.
std::shared_ptr< Acts::TrackingGeometry > geometry