ATLAS Offline Software
FPGAClusterConverter.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef FPGATrkConverter_FPGAClusterConverter_H
6 #define FPGATrkConverter_FPGAClusterConverter_H
7 
8 
16 
17 class AtlasDetectorID;
18 class PixelID;
19 class SCT_ID;
20 class Identifier;
21 
22 namespace InDetDD {
23  class PixelDetectorManager;
24  class SCT_DetectorManager;
25 }
26 
27 namespace InDet {
28  class PixelCluster;
29  class SCT_Cluster;
30 }
31 
32 class FPGATrackSimHit;
34 
35 
36 class FPGAClusterConverter : public extends<AthAlgTool,IFPGAClusterConverter>
37  {
38  public:
39 
40  FPGAClusterConverter(const std::string& type, const std::string& name, const IInterface*);
41  virtual ~FPGAClusterConverter() = default;
42  virtual StatusCode initialize() override final;
43 
45  InDet::PixelClusterCollection &,
46  InDet::SCT_ClusterCollection &) const override final;
48  InDet::PixelClusterCollection &,
49  InDet::SCT_ClusterCollection &) const override final;
51  xAOD::PixelClusterContainer& pixelCont,
52  xAOD::StripClusterContainer& SCTCont) const override final;
54  InDet::PixelClusterCollection &,
55  InDet::SCT_ClusterCollection &) const override final;
57  xAOD::PixelClusterContainer& pixelCont,
58  xAOD::StripClusterContainer& SCTCont) const override final;
59 
60  virtual StatusCode createPixelCluster(const FPGATrackSimHit& h, const std::vector<Identifier>& rdoList, std::unique_ptr<InDet::PixelCluster>&) const override final;
61  virtual StatusCode createPixelCluster(const FPGATrackSimHit& h, const std::vector<Identifier>& rdoList, xAOD::PixelCluster &) const override final;
62  virtual StatusCode createSCTCluster(const FPGATrackSimHit& h, const std::vector<Identifier>& rdoList, std::unique_ptr<InDet::SCT_Cluster>&) const override final;
63  virtual StatusCode createSCTCluster(const FPGATrackSimHit& h, const std::vector<Identifier>& rdoList, xAOD::StripCluster&) const override final;
64  virtual StatusCode createPixelCluster(const FPGATrackSimCluster&, std::unique_ptr<InDet::PixelCluster>&) const override final;
66  virtual StatusCode createSCTCluster(const FPGATrackSimCluster&, std::unique_ptr<InDet::SCT_Cluster>&) const override final;
68 
69  virtual StatusCode getRdoList(std::vector<Identifier> &rdoList, const FPGATrackSimCluster& cluster) const override final;
70  virtual StatusCode getRdoList(std::vector<Identifier> &rdoList, const FPGATrackSimHit& hit) const override final;
71 
72  SG::ReadHandleKey<FPGATrackSimClusterCollection> m_FPGAClusterKey{this, "FPGATrackSimClusterKey","FPGAClusters","FPGATrackSim Clusters key"};
73 
74  bool m_doShift = true;
75 
76  private:
77 
78  const PixelID* m_pixelId{nullptr};
79  const SCT_ID* m_SCTId{nullptr};
82 
83  ToolHandle<ISiLorentzAngleTool> m_lorentzAngleTool {this, "LorentzAngleTool", "SiLorentzAngleTool/SCTLorentzAngleTool", "Tool to retrieve Lorentz angle of SCT"};
84 
85  };
86 
87 #endif
88 
FPGAClusterConverter::m_SCTManager
const InDetDD::SCT_DetectorManager * m_SCTManager
Definition: FPGAClusterConverter.h:81
PixelCluster
Definition: Trigger/TrigAccel/TrigCudaFitter/src/PixelCluster.h:7
InDetDD::SCT_DetectorManager
Definition: SCT_DetectorManager.h:49
SG
Forward declaration.
Definition: CaloCellPacker_400_500.h:32
FPGATrackSimCluster
Definition: FPGATrackSimCluster.h:25
FPGAClusterConverter::m_lorentzAngleTool
ToolHandle< ISiLorentzAngleTool > m_lorentzAngleTool
Definition: FPGAClusterConverter.h:83
FPGAClusterConverter::m_FPGAClusterKey
SG::ReadHandleKey< FPGATrackSimClusterCollection > m_FPGAClusterKey
Definition: FPGAClusterConverter.h:72
InDet
DUMMY Primary Vertex Finder.
Definition: VP1ErrorUtils.h:36
FPGAClusterConverter::convertHits
virtual StatusCode convertHits(const std::vector< FPGATrackSimHit > &, InDet::PixelClusterCollection &, InDet::SCT_ClusterCollection &) const override final
Definition: FPGAClusterConverter.cxx:40
xAOD
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
Definition: ICaloAffectedTool.h:24
ISiLorentzAngleTool.h
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:562
SCT_Cluster
Definition: Trigger/TrigAccel/TrigCudaFitter/src/SCT_Cluster.h:7
FPGAClusterConverter
Definition: FPGAClusterConverter.h:37
FPGAClusterConverter::m_pixelManager
const InDetDD::PixelDetectorManager * m_pixelManager
Definition: FPGAClusterConverter.h:80
FPGATrackSimHit
Definition: FPGATrackSimHit.h:38
FPGAClusterConverter::m_SCTId
const SCT_ID * m_SCTId
Definition: FPGAClusterConverter.h:79
FPGAClusterConverter::m_pixelId
const PixelID * m_pixelId
Definition: FPGAClusterConverter.h:78
xAOD::StripCluster
StripCluster_v1 StripCluster
Define the version of the strip cluster class.
Definition: StripCluster.h:13
SCT_ClusterCollection.h
FPGATrackSimClusterCollection
std::vector< FPGATrackSimCluster > FPGATrackSimClusterCollection
Definition: FPGATrackSimClusterCollection.h:13
FPGAClusterConverter::FPGAClusterConverter
FPGAClusterConverter(const std::string &type, const std::string &name, const IInterface *)
Definition: FPGAClusterConverter.cxx:18
FPGAClusterConverter::createSCTCluster
virtual StatusCode createSCTCluster(const FPGATrackSimHit &h, const std::vector< Identifier > &rdoList, std::unique_ptr< InDet::SCT_Cluster > &) const override final
Definition: FPGAClusterConverter.cxx:384
Identifier
Definition: DetectorDescription/Identifier/Identifier/Identifier.h:32
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
vector
Definition: MultiHisto.h:13
LArG4ShowerLibProcessing.hits
hits
Definition: LArG4ShowerLibProcessing.py:136
PixelClusterContainer.h
FPGAClusterConverter::getRdoList
virtual StatusCode getRdoList(std::vector< Identifier > &rdoList, const FPGATrackSimCluster &cluster) const override final
Definition: FPGAClusterConverter.cxx:598
AthAlgTool.h
FPGAClusterConverter::~FPGAClusterConverter
virtual ~FPGAClusterConverter()=default
PixelClusterCollection.h
FPGAClusterConverter::convertClusters
virtual StatusCode convertClusters(const std::vector< FPGATrackSimCluster > &, InDet::PixelClusterCollection &, InDet::SCT_ClusterCollection &) const override final
Definition: FPGAClusterConverter.cxx:158
FPGAClusterConverter::m_doShift
bool m_doShift
Definition: FPGAClusterConverter.h:74
FPGAClusterConverter::createPixelCluster
virtual StatusCode createPixelCluster(const FPGATrackSimHit &h, const std::vector< Identifier > &rdoList, std::unique_ptr< InDet::PixelCluster > &) const override final
Definition: FPGAClusterConverter.cxx:223
InDetDD::PixelDetectorManager
Definition: PixelDetectorManager.h:47
xAOD::PixelClusterContainer
PixelClusterContainer_v1 PixelClusterContainer
Define the version of the pixel cluster container.
Definition: Event/xAOD/xAODInDetMeasurement/xAODInDetMeasurement/PixelClusterContainer.h:14
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
xAOD::StripClusterContainer
StripClusterContainer_v1 StripClusterContainer
Define the version of the strip cluster container.
Definition: StripClusterContainer.h:14
IFPGAClusterConverter.h
h
SCT_ID
Definition: SCT_ID.h:68
InDetDD
Message Stream Member.
Definition: FakeTrackBuilder.h:8
StripClusterContainer.h
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
PixelID
Definition: PixelID.h:67
dq_make_web_display.cl
cl
print [x.__class__ for x in toList(dqregion.getSubRegions()) ]
Definition: dq_make_web_display.py:26
FPGAClusterConverter::initialize
virtual StatusCode initialize() override final
Definition: FPGAClusterConverter.cxx:21
AtlasDetectorID
This class provides an interface to generate or decode an identifier for the upper levels of the dete...
Definition: AtlasDetectorID.h:57