ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Tracking
Acts
ActsDataPreparation
src
CoreStripSpacePointFormationTool.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 ACTSTRK_DATAPREPARATION_CORESTRIPSPACEPOINTFORMATIONTOOL_H
6
#define ACTSTRK_DATAPREPARATION_CORESTRIPSPACEPOINTFORMATIONTOOL_H
7
8
#include "
StripSpacePointFormationToolBase.h
"
9
10
#include "Acts/SpacePointFormation/SpacePointFormationError.hpp"
11
#include "Acts/SpacePointFormation/StripSpacePointBuilder.hpp"
12
#include "Acts/Utilities/Result.hpp"
13
14
#include "
CxxUtils/checker_macros.h
"
15
16
#include <array>
17
#include <atomic>
18
#include <optional>
19
20
namespace
ActsTrk
{
21
30
31
class
CoreStripSpacePointFormationTool
:
public
StripSpacePointFormationToolBase
{
32
public
:
33
using
StripSpacePointFormationToolBase::StripSpacePointFormationToolBase;
34
virtual
~CoreStripSpacePointFormationTool
() =
default
;
35
36
virtual
StatusCode
initialize
()
override
;
37
virtual
StatusCode
finalize
()
override
;
38
39
protected
:
40
41
virtual
StatusCode
makeStripSpacePoint
(std::vector<StripSP>& collection,
42
const
StripInformationHelper
& firstInfo,
43
const
StripInformationHelper
& secondInfo,
44
const
Amg::Vector3D
& beamSpotVertex,
45
bool
isEndcap,
46
double
limit,
47
double
slimit)
const override
;
48
49
private
:
50
53
static
Acts::StripSpacePointBuilder::StripEnds
stripEnds
(
const
StripInformationHelper
& info);
54
56
void
countError
(
int
code)
const
;
57
58
Gaudi::Property<std::string>
m_mode
{
this
,
"Mode"
,
"Constrained"
,
59
"Space point formation mode: Constrained (vertex hypothesis) or Cosmic (closest approach)"
};
60
Gaudi::Property<double>
m_cosmicTolerance
{
this
,
"CosmicTolerance"
, 1e-6,
61
"Reject strip pairs whose sin^2 of the opening angle is below this, Cosmic mode only"
};
62
63
bool
m_cosmicMode
{
false
};
64
67
enum
EStat
{
68
kNAccepted
= 0,
69
kClusterPairDistanceExceeded
,
70
kClusterPairThetaDistanceExceeded
,
71
kClusterPairPhiDistanceExceeded
,
72
kCosmicToleranceNotMet
,
73
kOutsideLimits
,
74
kOutsideRelaxedLimits
,
75
kNoSolutionFound
,
76
kOtherError
,
77
kNStat
78
};
79
80
static_assert
(
static_cast<
int
>
(Acts::SpacePointFormationError::ClusterPairDistanceExceeded)
81
==
kClusterPairDistanceExceeded
);
82
static_assert
(
static_cast<
int
>
(Acts::SpacePointFormationError::NoSolutionFound)
83
==
kNoSolutionFound
);
84
85
mutable
std::array<std::atomic<unsigned int>,
kNStat
> m_stat
ATLAS_THREAD_SAFE
{};
86
};
87
88
}
89
90
#endif
StripSpacePointFormationToolBase.h
checker_macros.h
Define macros for attributes used to control the static checker.
ActsTrk::CoreStripSpacePointFormationTool
Strip space point formation using Acts::StripSpacePointBuilder for the intersection of the two strips...
Definition
CoreStripSpacePointFormationTool.h:31
ActsTrk::CoreStripSpacePointFormationTool::m_mode
Gaudi::Property< std::string > m_mode
Definition
CoreStripSpacePointFormationTool.h:58
ActsTrk::CoreStripSpacePointFormationTool::m_cosmicTolerance
Gaudi::Property< double > m_cosmicTolerance
Definition
CoreStripSpacePointFormationTool.h:60
ActsTrk::CoreStripSpacePointFormationTool::makeStripSpacePoint
virtual StatusCode makeStripSpacePoint(std::vector< StripSP > &collection, const StripInformationHelper &firstInfo, const StripInformationHelper &secondInfo, const Amg::Vector3D &beamSpotVertex, bool isEndcap, double limit, double slimit) const override
Compute the space point position for a compatible pair of strips and, if it satisfies the geometrical...
Definition
CoreStripSpacePointFormationTool.cxx:61
ActsTrk::CoreStripSpacePointFormationTool::finalize
virtual StatusCode finalize() override
Definition
CoreStripSpacePointFormationTool.cxx:29
ActsTrk::CoreStripSpacePointFormationTool::countError
void countError(int code) const
Book a rejected pair against the slot of its Acts::SpacePointFormationError.
Definition
CoreStripSpacePointFormationTool.cxx:56
ActsTrk::CoreStripSpacePointFormationTool::ATLAS_THREAD_SAFE
std::array< std::atomic< unsigned int >, kNStat > m_stat ATLAS_THREAD_SAFE
Definition
CoreStripSpacePointFormationTool.h:85
ActsTrk::CoreStripSpacePointFormationTool::~CoreStripSpacePointFormationTool
virtual ~CoreStripSpacePointFormationTool()=default
ActsTrk::CoreStripSpacePointFormationTool::initialize
virtual StatusCode initialize() override
Definition
CoreStripSpacePointFormationTool.cxx:11
ActsTrk::CoreStripSpacePointFormationTool::stripEnds
static Acts::StripSpacePointBuilder::StripEnds stripEnds(const StripInformationHelper &info)
Recover the two ends of the strip from the centre and direction cached in the helper.
Definition
CoreStripSpacePointFormationTool.cxx:48
ActsTrk::CoreStripSpacePointFormationTool::EStat
EStat
Outcome counters.
Definition
CoreStripSpacePointFormationTool.h:67
ActsTrk::CoreStripSpacePointFormationTool::kCosmicToleranceNotMet
@ kCosmicToleranceNotMet
Definition
CoreStripSpacePointFormationTool.h:72
ActsTrk::CoreStripSpacePointFormationTool::kNAccepted
@ kNAccepted
Definition
CoreStripSpacePointFormationTool.h:68
ActsTrk::CoreStripSpacePointFormationTool::kClusterPairPhiDistanceExceeded
@ kClusterPairPhiDistanceExceeded
Definition
CoreStripSpacePointFormationTool.h:71
ActsTrk::CoreStripSpacePointFormationTool::kOutsideRelaxedLimits
@ kOutsideRelaxedLimits
Definition
CoreStripSpacePointFormationTool.h:74
ActsTrk::CoreStripSpacePointFormationTool::kOtherError
@ kOtherError
Definition
CoreStripSpacePointFormationTool.h:76
ActsTrk::CoreStripSpacePointFormationTool::kNoSolutionFound
@ kNoSolutionFound
Definition
CoreStripSpacePointFormationTool.h:75
ActsTrk::CoreStripSpacePointFormationTool::kNStat
@ kNStat
Definition
CoreStripSpacePointFormationTool.h:77
ActsTrk::CoreStripSpacePointFormationTool::kClusterPairDistanceExceeded
@ kClusterPairDistanceExceeded
Definition
CoreStripSpacePointFormationTool.h:69
ActsTrk::CoreStripSpacePointFormationTool::kOutsideLimits
@ kOutsideLimits
Definition
CoreStripSpacePointFormationTool.h:73
ActsTrk::CoreStripSpacePointFormationTool::kClusterPairThetaDistanceExceeded
@ kClusterPairThetaDistanceExceeded
Definition
CoreStripSpacePointFormationTool.h:70
ActsTrk::CoreStripSpacePointFormationTool::m_cosmicMode
bool m_cosmicMode
Definition
CoreStripSpacePointFormationTool.h:63
ActsTrk::StripInformationHelper
Definition
StripInformationHelper.h:17
ActsTrk::StripSpacePointFormationToolBase
Common machinery for producing strip space points.
Definition
StripSpacePointFormationToolBase.h:38
ActsTrk
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...
Definition
MdtCalibInput.h:31
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition
GeoPrimitives.h:48
Generated on
for ATLAS Offline Software by
1.17.0