Juggler
Juggling algorithms and event processing using gaudi framework
SimSourceLink.hpp
Go to the documentation of this file.
1
// This file is part of the Acts project.
2
//
3
// Copyright (C) 2016-2019 CERN for the benefit of the Acts project
4
//
5
// This Source Code Form is subject to the terms of the Mozilla Public
6
// License, v. 2.0. If a copy of the MPL was not distributed with this
7
// file, You can obtain one at http://mozilla.org/MPL/2.0/.
8
9
#pragma once
10
11
////#include "ACTFW/EventData/GeometryContainers.hpp"
12
//#include "Acts/EventData/Measurement.hpp"
13
//#include "ActsFatras/EventData/Hit.hpp"
14
//
15
//#include <stdexcept>
16
//#include <string>
17
//
18
//namespace FW {
19
//
20
///// Source link class for simulation in the acts-framework.
21
/////
22
///// The source link stores the measuremts, surface, and the associated simulated
23
///// truth hit.
24
/////
25
///// @todo Allow multiple truth hits e.g. for merged hits.
26
//class SimSourceLink {
27
// public:
28
// SimSourceLink(const Acts::Surface& surface, const ActsFatras::Hit& truthHit,
29
// size_t dim, Acts::BoundVector values, Acts::BoundMatrix cov)
30
// : m_values(values),
31
// m_cov(cov),
32
// m_dim(dim),
33
// m_geometryId(truthHit.geometryId()),
34
// m_surface(&surface),
35
// m_truthHit(&truthHit) {}
36
// /// Must be default_constructible to satisfy SourceLinkConcept.
37
// SimSourceLink() = default;
38
// SimSourceLink(SimSourceLink&&) = default;
39
// SimSourceLink(const SimSourceLink&) = default;
40
// SimSourceLink& operator=(SimSourceLink&&) = default;
41
// SimSourceLink& operator=(const SimSourceLink&) = default;
42
//
43
// constexpr Acts::GeometryIdentifier geometryId() const { return m_geometryId; }
44
// constexpr const Acts::Surface& referenceSurface() const { return *m_surface; }
45
// constexpr const ActsFatras::Hit& truthHit() const { return *m_truthHit; }
46
//
47
// Acts::FittableMeasurement<SimSourceLink> operator*() const {
48
// if (m_dim == 0) {
49
// throw std::runtime_error("Cannot create dim 0 measurement");
50
// } else if (m_dim == 1) {
51
// return Acts::Measurement<SimSourceLink, Acts::BoundParametersIndices,
52
// Acts::eBoundLoc0>{
53
// m_surface->getSharedPtr(), *this, m_cov.topLeftCorner<1, 1>(),
54
// m_values[0]};
55
// } else if (m_dim == 2) {
56
// return Acts::Measurement<SimSourceLink, Acts::BoundParametersIndices,
57
// Acts::eBoundLoc0, Acts::eBoundLoc1>{
58
// m_surface->getSharedPtr(), *this, m_cov.topLeftCorner<2, 2>(),
59
// m_values[0], m_values[1]};
60
// } else {
61
// throw std::runtime_error("Dim " + std::to_string(m_dim) +
62
// " currently not supported.");
63
// }
64
// }
65
//
66
// private:
67
// Acts::BoundVector m_values;
68
// Acts::BoundMatrix m_cov;
69
// size_t m_dim = 0u;
70
// // store geo id copy to avoid indirection via truth hit
71
// Acts::GeometryIdentifier m_geometryId;
72
// // need to store pointers to make the object copyable
73
// const Acts::Surface* m_surface;
74
// const ActsFatras::Hit* m_truthHit;
75
//
76
// friend constexpr bool operator==(const SimSourceLink& lhs,
77
// const SimSourceLink& rhs) {
78
// return lhs.m_truthHit == rhs.m_truthHit;
79
// }
80
//};
81
//
82
///// Store source links ordered by geometry identifier.
83
//using SimSourceLinkContainer = GeometryIdMultiset<SimSourceLink>;
84
//
85
//} // end of namespace FW
JugReco
JugReco
SimSourceLink.hpp
Generated by
1.8.18