ATLAS Offline Software
SiSpacePointMakerTool.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 SiSpacePointMakerTool_H
6 #define SiSpacePointMakerTool_H
7 
9 
14 
17 
18 #include "AthAllocators/DataPool.h"
19 
20 #include <string>
21 
22 class SCT_ID;
25 namespace InDetDD {
26  class SiDetectorElementCollection;
27  class SiDetectorElement;
28 }
29 namespace InDet {
30  class SiCluster;
31 }
32 
33 namespace InDet {
34 
35  constexpr size_t nNeighbours{6};
36 
45  class SiSpacePointMakerTool final: public AthAlgTool {
46 
47  public:
49  SiSpacePointMakerTool(const std::string& type, const std::string& name, const IInterface* parent);
50 
52  virtual ~SiSpacePointMakerTool() = default;
53 
55  static const InterfaceID& interfaceID();
56 
58  virtual StatusCode initialize() override;
59 
61  virtual StatusCode finalize() override;
62 
66  IdentifierHash, double, double, DataPool<SCT_SpacePoint>* dataItemsSCT);
67 
68  void fillSCT_SpacePointCollection(std::array<const InDetDD::SiDetectorElement*, nNeighbours>&,
69  std::array<const SCT_ClusterCollection*, nNeighbours>&,
70  std::array<double, 14>&,bool,const Amg::Vector3D&,
72  DataPool<SCT_SpacePoint>* dataItemsSCT) const;
73 
76  SpacePointCollection* spacepointCollection,
77  DataPool<PixelSpacePoint>* dataItemsPixel);
78 
79 
80 
81  private:
83 
84  DoubleProperty m_stripLengthTolerance{this, "StripLengthTolerance", 0.01};
85  DoubleProperty m_SCTgapParameter{this, "SCTGapParameter", 0., "Recommend 0.001 - 0.0015 for ITK geometry"};
87 
89 
90  const SCT_ID* m_idHelper{nullptr};
92 
94  void updateRange(const InDetDD::SiDetectorElement* element1,
95  const InDetDD::SiDetectorElement* element2,
96  double& stripLengthGapTolerance, double& min, double& max) const;
97 
99  double offset(const InDetDD::SiDetectorElement* element1,
100  const InDetDD::SiDetectorElement* element2,
101  double& stripLengthGapTolerance) const;
102 
105  const InDet::SCT_ClusterCollection* clusters2,
106  const Amg::Vector3D& vertexVec,
107  const InDetDD::SiDetectorElementCollection* elements) const;
108 
109  };
110 }
111 
112 #endif //SiSpacePointMakerTool_H
Trk::SpacePoint
Definition: Tracking/TrkEvent/TrkSpacePoint/TrkSpacePoint/SpacePoint.h:35
max
#define max(a, b)
Definition: cfImp.cxx:41
InDet::SiSpacePointMakerTool::fillSCT_SpacePointCollection
void fillSCT_SpacePointCollection(std::array< const InDetDD::SiDetectorElement *, nNeighbours > &, std::array< const SCT_ClusterCollection *, nNeighbours > &, std::array< double, 14 > &, bool, const Amg::Vector3D &, SpacePointCollection *, SpacePointOverlapCollection *, DataPool< SCT_SpacePoint > *dataItemsSCT) const
Definition: SiSpacePointMakerTool.cxx:147
InDetDD::SiDetectorElementCollection
Definition: SiDetectorElementCollection.h:30
InDet
Primary Vertex Finder.
Definition: VP1ErrorUtils.h:36
InDet::SiSpacePointMakerTool::updateRange
void updateRange(const InDetDD::SiDetectorElement *element1, const InDetDD::SiDetectorElement *element2, double &stripLengthGapTolerance, double &min, double &max) const
update range accordingly to the gap between the stereo modules
Definition: SiSpacePointMakerTool.cxx:133
SiCluster
Definition: Trigger/TrigAccel/TrigCudaFitter/src/SiCluster.h:9
InDet::SiSpacePointMakerTool::interfaceID
static const InterfaceID & interfaceID()
Return interfaceID.
Definition: SiSpacePointMakerTool.cxx:27
InDet::SiSpacePointMakerTool::m_idHelper
const SCT_ID * m_idHelper
Definition: SiSpacePointMakerTool.h:90
InDet::SCTinformation
Definition: SCTinformation.h:23
SpacePointOverlapCollection
Definition: SpacePointOverlapCollection.h:26
SCTinformation.h
InDet::SiSpacePointMakerTool::SiSpacePointMakerTool
SiSpacePointMakerTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor.
Definition: SiSpacePointMakerTool.cxx:32
GeoPrimitives.h
InDet::nNeighbours
constexpr size_t nNeighbours
Definition: SiSpacePointMakerTool.h:35
SCT_ClusterCollection.h
PixelSpacePoint.h
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
InDet::SiSpacePointMakerTool::fillSCT_Information
bool fillSCT_Information(const InDet::SCT_ClusterCollection *clusters1, const InDet::SCT_ClusterCollection *clusters2, const Amg::Vector3D &vertexVec, const InDetDD::SiDetectorElementCollection *elements) const
Not implemented yet.
AthAlgTool.h
test_pyathena.parent
parent
Definition: test_pyathena.py:15
InDet::SiSpacePointMakerTool::finalize
virtual StatusCode finalize() override
Finalize.
Definition: SiSpacePointMakerTool.cxx:47
InDet::SiSpacePointMakerTool::~SiSpacePointMakerTool
virtual ~SiSpacePointMakerTool()=default
Default destructor.
SCT_SpacePoint.h
PixelClusterCollection.h
InDet::SiSpacePointMakerTool::fillPixelSpacePointCollection
static void fillPixelSpacePointCollection(const InDet::PixelClusterCollection *clusters, SpacePointCollection *spacepointCollection, DataPool< PixelSpacePoint > *dataItemsPixel)
Convert clusters to space points: PixelClusters -> PixelSpacePoints.
Definition: SiSpacePointMakerTool.cxx:52
DataPool.h
min
#define min(a, b)
Definition: cfImp.cxx:40
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:221
InDetDD::SiDetectorElement
Definition: SiDetectorElement.h:109
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
InDet::SiSpacePointMakerTool
Definition: SiSpacePointMakerTool.h:45
SCT_ID
Definition: SCT_ID.h:68
InDet::SiSpacePointMakerTool::makeSCT_SpacePoint
static Trk::SpacePoint * makeSCT_SpacePoint(InDet::SCTinformation &, InDet::SCTinformation &, IdentifierHash, IdentifierHash, double, double, DataPool< SCT_SpacePoint > *dataItemsSCT)
Convert clusters to space points: SCT_Clusters -> SCT_SpacePoints.
Definition: SiSpacePointMakerTool.cxx:382
InDetDD
Message Stream Member.
Definition: FakeTrackBuilder.h:8
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
InDet::SiSpacePointMakerTool::offset
double offset(const InDetDD::SiDetectorElement *element1, const InDetDD::SiDetectorElement *element2, double &stripLengthGapTolerance) const
Get stripLengthGapTolerance and return offset value for two SiDetectorElement's.
Definition: SiSpacePointMakerTool.cxx:107
SpacePointCollection
Definition: SpacePointCollection.h:40
RunTileMonitoring.clusters
clusters
Definition: RunTileMonitoring.py:133
InDet::SiSpacePointMakerTool::m_stripLengthTolerance
DoubleProperty m_stripLengthTolerance
Definition: SiSpacePointMakerTool.h:84
DataPool
a typed memory pool that saves time spent allocation small object. This is typically used by containe...
Definition: DataPool.h:47
InDet::SiSpacePointMakerTool::initialize
virtual StatusCode initialize() override
Initialize.
Definition: SiSpacePointMakerTool.cxx:39
AthAlgTool
Definition: AthAlgTool.h:26
IdentifierHash
This is a "hash" representation of an Identifier. This encodes a 32 bit index which can be used to lo...
Definition: IdentifierHash.h:25
InDet::SCT_ClusterCollection
Trk::PrepRawDataCollection< SCT_Cluster > SCT_ClusterCollection
Definition: SCT_ClusterCollection.h:26
InDet::PixelClusterCollection
Trk::PrepRawDataCollection< PixelCluster > PixelClusterCollection
Definition: PixelClusterCollection.h:26
InDet::SiSpacePointMakerTool::m_SCTgapParameter
DoubleProperty m_SCTgapParameter
Definition: SiSpacePointMakerTool.h:85