ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
TileCalorimeter
TileSvc
TileByteStream
src
TileRawChannel2Bytes2.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#include "
TileByteStream/TileRawChannel2Bytes2.h
"
6
#include "
TileEvent/TileFastRawChannel.h
"
7
#include <algorithm>
8
#include <cmath>
9
10
int
TileRawChannel2Bytes2::getBytes
(
const
TileFastRawChannel
*
rc
,
int
gain
,
11
std::vector<unsigned int>& v) {
12
// pack raw data into one 32-bits integer
13
v.push_back(
getWord
(
rc
,
gain
));
14
15
return
1;
// one int added to vector
16
}
17
18
unsigned
int
TileRawChannel2Bytes2::getWord
(
const
TileFastRawChannel
*
rc
,
int
gain
) {
19
// pack raw data into one 32-bits integer
20
21
unsigned
int
a
= std::max(0, std::min(
AMPLITUDE_RANGE2
22
, (
int
) std::lround((
rc
->amplitude() +
AMPLITUDE_OFFSET2
) *
AMPLITUDE_FACTOR2
)));
23
24
unsigned
int
t = std::max(0,
25
std::min(
TIME_RANGE2
, (
int
) std::lround((
rc
->time() +
TIME_OFFSET2
) *
TIME_FACTOR2
)));
26
27
unsigned
int
q = std::max(0, std::min(
QUALITY_RANGE2
28
, (
int
) std::lround((
rc
->quality() +
QUALITY_OFFSET2
) *
QUALITY_FACTOR2
)));
29
30
unsigned
int
w = (
a
<<
AMPLITUDE_SHIFT2
) | (t <<
TIME_SHIFT2
) | (q <<
QUALITY_SHIFT2
);
31
32
if
(
gain
) w |=
GAIN_BIT2
;
33
34
return
w;
35
}
36
a
static Double_t a
Definition
LArPhysWaveHECTool.cxx:38
rc
static Double_t rc
Definition
LArPhysWaveHECTool.cxx:37
TileFastRawChannel.h
TileRawChannel2Bytes2.h
TIME_RANGE2
const int TIME_RANGE2
Definition
TileRawChannel2Bytes2.h:46
GAIN_BIT2
const unsigned int GAIN_BIT2
Definition
TileRawChannel2Bytes2.h:29
QUALITY_OFFSET2
const float QUALITY_OFFSET2
Definition
TileRawChannel2Bytes2.h:51
TIME_SHIFT2
const int TIME_SHIFT2
Definition
TileRawChannel2Bytes2.h:47
AMPLITUDE_RANGE2
const int AMPLITUDE_RANGE2
Definition
TileRawChannel2Bytes2.h:38
AMPLITUDE_FACTOR2
const float AMPLITUDE_FACTOR2
Definition
TileRawChannel2Bytes2.h:37
QUALITY_SHIFT2
const int QUALITY_SHIFT2
Definition
TileRawChannel2Bytes2.h:54
TIME_FACTOR2
const float TIME_FACTOR2
Definition
TileRawChannel2Bytes2.h:45
QUALITY_FACTOR2
const float QUALITY_FACTOR2
Definition
TileRawChannel2Bytes2.h:52
TIME_OFFSET2
const float TIME_OFFSET2
Definition
TileRawChannel2Bytes2.h:44
QUALITY_RANGE2
const int QUALITY_RANGE2
Definition
TileRawChannel2Bytes2.h:53
AMPLITUDE_SHIFT2
const int AMPLITUDE_SHIFT2
Definition
TileRawChannel2Bytes2.h:39
AMPLITUDE_OFFSET2
const float AMPLITUDE_OFFSET2
Definition
TileRawChannel2Bytes2.h:36
TileFastRawChannel
Definition
TileFastRawChannel.h:17
TileRawChannel2Bytes2::getWord
unsigned int getWord(const TileFastRawChannel *rc, int gain)
Returns a single 32-bit word which encodes the TileRawChannel information (gain,amplitude,...
Definition
TileRawChannel2Bytes2.cxx:18
TileRawChannel2Bytes2::gain
int gain(unsigned int w) const
Returns the gain unpacked from the single 32-bit word w.
Definition
TileRawChannel2Bytes2.h:93
TileRawChannel2Bytes2::getBytes
int getBytes(const TileFastRawChannel *rc, int gain, std::vector< unsigned int > &v)
Adds an entry to the vector<int> v for this TileRawChannel.
Definition
TileRawChannel2Bytes2.cxx:10
Generated on
for ATLAS Offline Software by
1.17.0