ATLAS Offline Software
TilePulse.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 TILECONDITIONS_TILEPULSEFORM_H
6 #define TILECONDITIONS_TILEPULSEFORM_H
7 
8 // Tile includes
10 
15 class TilePulse {
16  public:
17 
18  TilePulse(std::unique_ptr<TileCalibDataFlt> pulseShape) : m_pulseShape{std::move(pulseShape)} {};
19  virtual ~TilePulse() = default;
20 
21  bool getPulseShapeYDY(unsigned int drawerIdx, unsigned int channel, unsigned int adc,
22  float time, float &y, float &dy) const;
23 
24  TilePulse(const TilePulse&) = delete;
25  TilePulse& operator= (const TilePulse&) = delete;
26 
27  private:
28 
29  //=== TileCalibData
30  std::unique_ptr<TileCalibDataFlt> m_pulseShape;
31 };
32 
33 // inlines
34 inline
35 bool TilePulse::getPulseShapeYDY(unsigned int drawerIdx, unsigned int channel, unsigned int adc,
36  float time, float &y, float &dy) const {
37  return m_pulseShape->getCalibDrawer(drawerIdx)->getYDY(channel, adc, time, y, dy);
38 }
39 
40 #include "AthenaKernel/CLASS_DEF.h"
41 #include "AthenaKernel/CondCont.h"
42 
43 CLASS_DEF(TilePulse, 239991006, 0)
44 CONDCONT_DEF(TilePulse, 228652188);
45 
46 #endif
TilePulse::TilePulse
TilePulse(std::unique_ptr< TileCalibDataFlt > pulseShape)
Definition: TilePulse.h:18
CondCont.h
Hold mappings of ranges to condition objects.
plotting.yearwise_efficiency.channel
channel
Definition: yearwise_efficiency.py:28
TileCalibData.h
TilePulse::m_pulseShape
std::unique_ptr< TileCalibDataFlt > m_pulseShape
Definition: TilePulse.h:30
TilePulse::operator=
TilePulse & operator=(const TilePulse &)=delete
TilePulse::TilePulse
TilePulse(const TilePulse &)=delete
CONDCONT_DEF
CONDCONT_DEF(TilePulse, 228652188)
makeTRTBarrelCans.dy
tuple dy
Definition: makeTRTBarrelCans.py:21
y
#define y
CaloSwCorrections.time
def time(flags, cells_name, *args, **kw)
Definition: CaloSwCorrections.py:242
ReadFloatFromCool.adc
adc
Definition: ReadFloatFromCool.py:48
CLASS_DEF
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
Definition: Control/AthenaKernel/AthenaKernel/CLASS_DEF.h:64
TilePulse::getPulseShapeYDY
bool getPulseShapeYDY(unsigned int drawerIdx, unsigned int channel, unsigned int adc, float time, float &y, float &dy) const
Definition: TilePulse.h:35
TilePulse
Condition object to keep and provide Tile pulse shape.
Definition: TilePulse.h:15
TilePulse::~TilePulse
virtual ~TilePulse()=default
CLASS_DEF.h
macros to associate a CLID to a type