ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
TileCalorimeter
TileConditions
TileConditions
TileSampleNoise.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_TILESAMPLENOISE_H
6
#define TILECONDITIONS_TILESAMPLENOISE_H
7
8
// Tile includes
9
#include "
TileConditions/TileCalibData.h
"
10
11
#include "
AthenaKernel/CLASS_DEF.h
"
12
#include "
AthenaKernel/CondCont.h
"
13
18
class
TileSampleNoise
{
19
20
public
:
21
22
TileSampleNoise
(std::unique_ptr<TileCalibDataFlt> sampleNoise) :
m_sampleNoise
{
std
::move(sampleNoise)} {};
23
24
virtual
~TileSampleNoise
() =
default
;
25
26
float
getPed
(
unsigned
int
drawerIdx,
unsigned
int
channel,
unsigned
int
adc)
const
;
27
28
float
getHfn
(
unsigned
int
drawerIdx,
unsigned
int
channel,
unsigned
int
adc)
const
;
29
30
float
getLfn
(
unsigned
int
drawerIdx,
unsigned
int
channel,
unsigned
int
adc)
const
;
31
32
float
getHfn1
(
unsigned
int
drawerIdx,
unsigned
int
channel,
unsigned
int
adc)
const
;
33
34
float
getHfn2
(
unsigned
int
drawerIdx,
unsigned
int
channel,
unsigned
int
adc)
const
;
35
36
float
getHfnNorm
(
unsigned
int
drawerIdx,
unsigned
int
channel,
unsigned
int
adc)
const
;
37
38
private
:
39
40
std::unique_ptr<TileCalibDataFlt>
m_sampleNoise
;
41
};
42
43
44
// inlines
45
inline
46
float
TileSampleNoise::getPed
(
unsigned
int
drawerIdx,
unsigned
int
channel,
unsigned
int
adc)
const
{
47
return
m_sampleNoise
->getCalibDrawer(drawerIdx)->getData(channel, adc, 0);
48
}
49
50
inline
51
float
TileSampleNoise::getHfn
(
unsigned
int
drawerIdx,
unsigned
int
channel,
unsigned
int
adc)
const
{
52
return
m_sampleNoise
->getCalibDrawer(drawerIdx)->getData(channel, adc, 1);
53
}
54
55
inline
56
float
TileSampleNoise::getLfn
(
unsigned
int
drawerIdx,
unsigned
int
channel,
unsigned
int
adc)
const
{
57
const
TileCalibDrawerFlt
* calibDrawer =
m_sampleNoise
->getCalibDrawer(drawerIdx);
58
//=== check if Lfn is stored already if not - return zero
59
return
(calibDrawer->getObjSizeUint32() < 3) ? 0. : calibDrawer->getData(channel, adc, 2);
60
}
61
62
inline
63
float
TileSampleNoise::getHfn1
(
unsigned
int
drawerIdx,
unsigned
int
channel,
unsigned
int
adc)
const
{
64
const
TileCalibDrawerFlt
* calibDrawer =
m_sampleNoise
->getCalibDrawer(drawerIdx);
65
//=== check if Hfn1 is stored already, if not - return old Hfn
66
return
(calibDrawer->getObjSizeUint32() < 4) ? calibDrawer->getData(channel, adc, 1)
67
: calibDrawer->getData(channel, adc, 3);
68
}
69
70
inline
71
float
TileSampleNoise::getHfn2
(
unsigned
int
drawerIdx,
unsigned
int
channel,
unsigned
int
adc)
const
{
72
const
TileCalibDrawerFlt
* calibDrawer =
m_sampleNoise
->getCalibDrawer(drawerIdx);
73
//=== check if Hfn2 is stored already, if not - return zero
74
return
(calibDrawer->getObjSizeUint32() < 5) ? 0.0 : calibDrawer->getData(channel, adc, 4);
75
}
76
77
inline
78
float
TileSampleNoise::getHfnNorm
(
unsigned
int
drawerIdx,
unsigned
int
channel,
unsigned
int
adc)
const
{
79
const
TileCalibDrawerFlt
* calibDrawer =
m_sampleNoise
->getCalibDrawer(drawerIdx);
80
//=== check if HfnNorm is stored already, if not - return zero
81
return
(calibDrawer->getObjSizeUint32() < 6) ? 0.0 : calibDrawer->getData(channel, adc, 5);
82
}
83
84
// Set up the ClassID of this class (obtained using 'clid -s TileSampleNoise')
85
CLASS_DEF
(
TileSampleNoise
, 197315591, 0)
86
// Set up the ClassID of the container (obtained using 'clid -cs TileSampleNoise')
87
CONDCONT_DEF
(
TileSampleNoise
, 176906267);
88
89
#endif
CondCont.h
Hold mappings of ranges to condition objects.
CONDCONT_DEF
#define CONDCONT_DEF(...)
Definition
CondCont.h:1413
CLASS_DEF.h
macros to associate a CLID to a type
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:67
TileCalibData.h
TileCalibDrawerFlt
Generic class for storing a number of floats (Flt) for each channel or ADC.
Definition
TileCalibDrawerFlt.h:27
TileSampleNoise
Condition object to keep and provide Tile sample noise.
Definition
TileSampleNoise.h:18
TileSampleNoise::getPed
float getPed(unsigned int drawerIdx, unsigned int channel, unsigned int adc) const
Definition
TileSampleNoise.h:46
TileSampleNoise::getLfn
float getLfn(unsigned int drawerIdx, unsigned int channel, unsigned int adc) const
Definition
TileSampleNoise.h:56
TileSampleNoise::m_sampleNoise
std::unique_ptr< TileCalibDataFlt > m_sampleNoise
Definition
TileSampleNoise.h:40
TileSampleNoise::getHfn2
float getHfn2(unsigned int drawerIdx, unsigned int channel, unsigned int adc) const
Definition
TileSampleNoise.h:71
TileSampleNoise::~TileSampleNoise
virtual ~TileSampleNoise()=default
TileSampleNoise::getHfn1
float getHfn1(unsigned int drawerIdx, unsigned int channel, unsigned int adc) const
Definition
TileSampleNoise.h:63
TileSampleNoise::TileSampleNoise
TileSampleNoise(std::unique_ptr< TileCalibDataFlt > sampleNoise)
Definition
TileSampleNoise.h:22
TileSampleNoise::getHfn
float getHfn(unsigned int drawerIdx, unsigned int channel, unsigned int adc) const
Definition
TileSampleNoise.h:51
TileSampleNoise::getHfnNorm
float getHfnNorm(unsigned int drawerIdx, unsigned int channel, unsigned int adc) const
Definition
TileSampleNoise.h:78
std
STL namespace.
Generated on
for ATLAS Offline Software by
1.17.0