ATLAS Offline Software
Loading...
Searching...
No Matches
STgcClusterBuilderCommon.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef STgcClusterBuilderCommon_h
6#define STgcClusterBuilderCommon_h
7
10#include "STgcClusterPosition.h"
11
13
14#include <vector>
15#include <array>
16#include <optional>
17
18
19namespace MuonGM
20{
22}
23
24namespace Muon
25{
26
27 // Forward declaration
28 class sTgcPrepData;
29
31 public:
33 STgcClusterBuilderCommon(const sTgcIdHelper& idHelper, const NswErrorCalibData& errorCalibData);
34
36 std::array<std::vector<sTgcPrepData>, 8> sortSTGCPrdPerLayer(std::vector<sTgcPrepData>&& stripPrds) const;
37
39 std::vector<std::vector<sTgcPrepData>> findStripCluster(std::vector<sTgcPrepData>&& strips,
40 const int maxMissingStrip) const;
41
43 std::optional<STgcClusterPosition> weightedAverage(const std::vector<sTgcPrepData>& cluster,
44 const double resolution,
45 bool isStrip) const;
46
57 std::optional<STgcClusterPosition> caruanaGaussianFitting(const std::vector<sTgcPrepData>& cluster,
58 const double positionResolution,
59 const double angularResolution,
60 const MuonGM::MuonDetectorManager* detManager) const;
61
62 private:
65 };
66}
67
68#endif
AthMessaging(IMessageSvc *msgSvc, const std::string &name)
Constructor.
The MuonDetectorManager stores the transient representation of the Muon Spectrometer geometry and pro...
std::optional< STgcClusterPosition > weightedAverage(const std::vector< sTgcPrepData > &cluster, const double resolution, bool isStrip) const
Compute the cluster position using the weighted average method.
std::array< std::vector< sTgcPrepData >, 8 > sortSTGCPrdPerLayer(std::vector< sTgcPrepData > &&stripPrds) const
Separate the sTGC PRDs by layer, from 0 to 7, and sort the PRDs per layer in ascending order of strip...
STgcClusterBuilderCommon(const sTgcIdHelper &idHelper, const NswErrorCalibData &errorCalibData)
Constructor.
std::vector< std::vector< sTgcPrepData > > findStripCluster(std::vector< sTgcPrepData > &&strips, const int maxMissingStrip) const
Find strip clusters, assuming the input vector of PRDs are sorted in ascending order of strip number.
const NswErrorCalibData & m_errorCalibData
std::optional< STgcClusterPosition > caruanaGaussianFitting(const std::vector< sTgcPrepData > &cluster, const double positionResolution, const double angularResolution, const MuonGM::MuonDetectorManager *detManager) const
Method to fit analytically a cluster to a Gaussian function to obtain the position of the cluster The...
Class to represent sTgc measurements.
Ensure that the Athena extensions are properly loaded.
Definition GeoMuonHits.h:27
NRpcCablingAlg reads raw condition data and writes derived condition data to the condition store.