ATLAS Offline Software
Loading...
Searching...
No Matches
ActsCaloTrackingVolumeBuilder.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef ACTSGEOMETRY_ACTSCALOTRACKINGVOLUMEBUILDER_H
6#define ACTSGEOMETRY_ACTSCALOTRACKINGVOLUMEBUILDER_H
7
9//
13
15
16#include <memory>
17
18// ACTS
19#include "Acts/Geometry/Volume.hpp"
20#include "Acts/Geometry/GeometryContext.hpp"
21
23
24namespace Acts {
25class TrackingVolume;
26class VolumeBounds;
27class CutoutCylinderVolumeBounds;
28
29
30}
31
32class ActsCaloTrackingVolumeBuilder : public extends<AthAlgTool, IActsTrackingVolumeBuilder>
33{
34public:
35 StatusCode initialize() override;
36 using base_class::base_class;
37 std::shared_ptr<Acts::TrackingVolume>
38 trackingVolume(const Acts::GeometryContext& gctx,
39 std::shared_ptr<const Acts::TrackingVolume> insideVolume = nullptr,
40 std::shared_ptr<const Acts::VolumeBounds> outsideBounds = nullptr) const override;
41
42private:
43
44 Acts::Volume
45 build_endcap(double z, double dz, double eta, double deta, double phi, double dphi) const;
46
47 Acts::Volume
48 build_barrel(double r, double dr, double eta, double deta, double phi, double dphi) const;
49
50 Acts::Volume
51 build_box(double x, double dx, double y, double dy, double z, double dz) const;
52
53 std::vector<std::unique_ptr<Acts::Volume>>
54 cellFactory() const;
55
56 std::shared_ptr<Acts::CutoutCylinderVolumeBounds>
57 makeCaloVolumeBounds(const Acts::GeometryContext& gctx,
58 const std::vector<std::unique_ptr<Acts::Volume::BoundingBox>>& boxStore,
59 std::shared_ptr<const Acts::TrackingVolume> insideVolume) const;
60
61
63};
64
65#endif
Scalar eta() const
pseudorapidity method
Scalar phi() const
phi method
Property holding a SG store/key/clid from which a ReadHandle is made.
#define y
#define x
#define z
std::shared_ptr< Acts::TrackingVolume > trackingVolume(const Acts::GeometryContext &gctx, std::shared_ptr< const Acts::TrackingVolume > insideVolume=nullptr, std::shared_ptr< const Acts::VolumeBounds > outsideBounds=nullptr) const override
std::vector< std::unique_ptr< Acts::Volume > > cellFactory() const
std::shared_ptr< Acts::CutoutCylinderVolumeBounds > makeCaloVolumeBounds(const Acts::GeometryContext &gctx, const std::vector< std::unique_ptr< Acts::Volume::BoundingBox > > &boxStore, std::shared_ptr< const Acts::TrackingVolume > insideVolume) const
Acts::Volume build_box(double x, double dx, double y, double dy, double z, double dz) const
Acts::Volume build_barrel(double r, double dr, double eta, double deta, double phi, double dphi) const
Acts::Volume build_endcap(double z, double dz, double eta, double deta, double phi, double dphi) const
This class provides the client interface for accessing the detector description information common to...
int r
Definition globals.cxx:22