EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
PlanarModuleCluster.hpp
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file PlanarModuleCluster.hpp
1 // This file is part of the Acts project.
2 //
3 // Copyright (C) 2016-2018 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 
13 
15 #ifdef ACTS_CORE_IDENTIFIER_PLUGIN
16 #include ACTS_CORE_IDENTIFIER_PLUGIN
17 #else
19 #endif
20 
25 
26 namespace Acts {
27 
28 template <BoundIndices... params>
30 
32  : public Measurement_t<BoundIndices::eBoundLoc0, BoundIndices::eBoundLoc1,
33  BoundIndices::eBoundTime> {
34  public:
44  PlanarModuleCluster(std::shared_ptr<const Surface> mSurface,
45  const Identifier& identifier, ActsSymMatrixD<3> cov,
46  double loc0, double loc1, double t,
47  std::vector<DigitizationCell> dCells,
48  const DigitizationModule* dModule = nullptr)
51  std::move(mSurface),
52  identifier, // original measurement
53  std::move(cov), loc0, loc1, t),
54  m_digitizationCells(std::move(dCells)),
55  m_digitizationModule(dModule) {}
56 
60  const std::vector<DigitizationCell>& digitizationCells() const;
61 
66 
67  private:
68  std::vector<DigitizationCell> m_digitizationCells;
70 };
71 
72 inline const std::vector<DigitizationCell>&
74  return m_digitizationCells;
75 }
76 
78  const {
79  return m_digitizationModule;
80 }
81 } // namespace Acts