ATLAS Offline Software
AFPSiLayerSummaryProfileHit.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 
6 #ifndef AFPSILAYERSUMMARYPROFILEHIT_H
7 #define AFPSILAYERSUMMARYPROFILEHIT_H
8 
12 
13 #include <xAODForward/AFPSiHit.h>
14 
16 template <typename T>
18 {
19 public:
27  AFPSiLayerSummaryProfileHit (AFPHitsMonitorTool* parentTool, const ManagedMonitorToolBase::MonGroup& monGrp, const std::string& name, const std::string& title, T (xAOD::AFPSiHit::*value)() const) :
28  AFPSiLayerSummaryProfileBase (parentTool, monGrp, name, title),
29  m_value(value)
30  {}
31 
33  void fillHit (const std::string& binName, const xAOD::AFPSiHit& hit) override
34  {m_profile->Fill(binName.data(), (hit.*m_value)());}
35 
36 protected:
38  T (xAOD::AFPSiHit::*m_value)() const;
39 };
40 
41 // stop compiler from creating separete template for each instance of basic type
42 extern template class AFPSiLayerSummaryProfileHit<int>;
43 extern template class AFPSiLayerSummaryProfileHit<float>;
44 extern template class AFPSiLayerSummaryProfileHit<double>;
45 
46 #endif
IAFPSiLayerMonitor.h
AFPSiLayerSummaryProfileBase
Base class for summary distributions (showing mean value for each plane)
Definition: AFPSiLayerSummaryProfileBase.h:20
AFPHitsMonitorTool
Main monitoring class for silicon detectors.
Definition: AFPHitsMonitorTool.h:32
AFPSiLayerSummaryProfileBase::m_profile
TProfile * m_profile
The summary distribution. TProfile ensures proper merging of mean values.
Definition: AFPSiLayerSummaryProfileBase.h:39
xAOD::AFPSiHit_v2
Class representing a hit in silicon detector.
Definition: AFPSiHit_v2.h:30
athena.value
value
Definition: athena.py:122
AFPSiLayerSummaryProfileBase.h
AFPSiLayerSummaryProfileHit::m_value
T(xAOD::AFPSiHit::* m_value)() const
pointer to the member method which calculates quantity used to fill the distribution.
Definition: AFPSiLayerSummaryProfileHit.h:38
IAFPSiLayerSummaryHit
Class providing interface to summary object which can be filled for every hit.
Definition: IAFPSiLayerSummaryHit.h:15
ManagedMonitorToolBase::MonGroup
A container of information describing a monitoring object.
Definition: ManagedMonitorToolBase.h:138
IAFPSiLayerSummaryHit.h
covarianceTool.title
title
Definition: covarianceTool.py:542
AFPSiHit.h
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
TProfile::Fill
int Fill(double, double)
Definition: rootspy.cxx:523
AFPSiLayerSummaryProfileHit::fillHit
void fillHit(const std::string &binName, const xAOD::AFPSiHit &hit) override
Fills the distribution using data passed in arguments.
Definition: AFPSiLayerSummaryProfileHit.h:33
AFPSiLayerSummaryProfileHit::AFPSiLayerSummaryProfileHit
AFPSiLayerSummaryProfileHit(AFPHitsMonitorTool *parentTool, const ManagedMonitorToolBase::MonGroup &monGrp, const std::string &name, const std::string &title, T(xAOD::AFPSiHit::*value)() const)
Assigns values and calls base class constructor.
Definition: AFPSiLayerSummaryProfileHit.h:27
AFPSiLayerSummaryProfileHit
Final class representing a summary distribution filled for every hit.
Definition: AFPSiLayerSummaryProfileHit.h:18
TSU::T
unsigned long long T
Definition: L1TopoDataTypes.h:35