ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
TileCalorimeter
TileEvent
src
TileRawChannel.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
//*****************************************************************************
6
// Filename : TileRawChannel.cxx
7
// Author : Ed Frank, Ambreesh Gupta, Frank Merritt
8
// Created : Jan, 2001
9
//
10
// DESCRIPTION:
11
// Implementation comments only. Class level comments go in .h file.
12
//
13
// HISTORY:
14
// 02Mar02: Created to replace TileRawCell
15
//
16
// BUGS:
17
//
18
//
19
//
20
//*****************************************************************************
21
22
#include "
TileEvent/TileRawChannel.h
"
23
24
#include <iostream>
25
#include <sstream>
26
#include <iomanip>
27
#include <algorithm>
28
#include <functional>
//for placeholders
29
30
TileRawChannel::TileRawChannel
(
const
Identifier
&
id
,
31
float
amplitude
,
float
time
,
float
quality
,
float
ped )
32
:
TileRawData
( id )
33
,
m_amplitude
(1,
amplitude
)
34
,
m_time
(1,
time
)
35
,
m_quality
(1,
quality
)
36
,
m_pedestal
(ped)
37
{
38
}
39
40
TileRawChannel::TileRawChannel
(
const
HWIdentifier
& HWid,
41
float
amplitude
,
float
time
,
float
quality
,
float
ped )
42
:
TileRawData
( HWid )
43
,
m_amplitude
(1,
amplitude
)
44
,
m_time
(1,
time
)
45
,
m_quality
(1,
quality
)
46
,
m_pedestal
(ped)
47
{
48
}
49
50
TileRawChannel::TileRawChannel
(
const
HWIdentifier
& HWid,
51
std::vector<float>&&
amplitude
,
52
std::vector<float>&&
time
,
53
std::vector<float>&&
quality
,
54
float
ped
/*= 0.0*/
)
55
:
TileRawData
( HWid ),
56
m_amplitude
(
std
::move(
amplitude
)),
57
m_time
(
std
::move(
time
)),
58
m_quality
(
std
::move(
quality
)),
59
m_pedestal
(ped)
60
{
61
}
62
63
int
TileRawChannel::add
(
float
amplitude
,
float
time
,
float
quality
) {
64
m_amplitude
.push_back(
amplitude
);
65
m_time
.push_back(
time
);
66
m_quality
.push_back(
quality
);
67
return
m_amplitude
.size();
68
}
69
70
void
TileRawChannel::scaleAmplitude
(
float
scale) {
71
using
std::placeholders::_1;
72
std::transform(
m_amplitude
.begin(),
m_amplitude
.end(),
73
m_amplitude
.begin(),
74
std::bind(std::multiplies<float>(),scale,_1));
75
}
76
77
void
TileRawChannel::insertTime
(
float
time
) {
78
m_time
.insert(
m_time
.begin(),
time
);
// put new time in front
79
}
80
81
int
TileRawChannel::insert
(
float
amplitude
,
float
time
,
float
quality
) {
82
m_amplitude
.insert(
m_amplitude
.begin(),
amplitude
);
83
m_time
.insert(
m_time
.begin(),
time
);
84
m_quality
.insert(
m_quality
.begin(),
quality
);
85
return
m_amplitude
.size();
86
}
87
88
void
TileRawChannel::print
()
const
{
89
std::cout << (std::string) (*
this
) << std::endl;
90
}
91
92
TileRawChannel::operator std::string()
const
{
93
std::ostringstream text(std::ostringstream::out);
94
95
text << TileRawData::operator std::string();
96
print_to_stream
(
m_amplitude
,
" ampl ="
, text);
97
print_to_stream
(
m_time
,
" time ="
, text);
98
print_to_stream
(
m_quality
,
" qual ="
, text);
99
100
return
text.str();
101
}
TileRawChannel.h
HWIdentifier
Definition
HWIdentifier.h:13
TileRawChannel::m_pedestal
float m_pedestal
Definition
TileRawChannel.h:123
TileRawChannel::m_time
std::vector< float > m_time
Definition
TileRawChannel.h:121
TileRawChannel::insertTime
void insertTime(float time)
Definition
TileRawChannel.cxx:77
TileRawChannel::time
float time(int ind=0) const
Definition
TileRawChannel.h:103
TileRawChannel::quality
float quality(int ind=0) const
Definition
TileRawChannel.h:105
TileRawChannel::add
int add(float amplitude, float time, float quality)
Definition
TileRawChannel.cxx:63
TileRawChannel::m_quality
std::vector< float > m_quality
Definition
TileRawChannel.h:122
TileRawChannel::insert
int insert(float amplitude, float time, float quality)
Definition
TileRawChannel.cxx:81
TileRawChannel::print
void print(void) const
Definition
TileRawChannel.cxx:88
TileRawChannel::amplitude
float amplitude(int ind=0) const
Definition
TileRawChannel.h:101
TileRawChannel::m_amplitude
std::vector< float > m_amplitude
Definition
TileRawChannel.h:120
TileRawChannel::scaleAmplitude
void scaleAmplitude(float scale)
Definition
TileRawChannel.cxx:70
TileRawChannel::TileRawChannel
TileRawChannel()
Definition
TileRawChannel.h:40
TileRawData::TileRawData
TileRawData()
Definition
TileRawData.h:38
TileRawData::print_to_stream
static void print_to_stream(const std::vector< float > &val, const std::string &label, std::ostringstream &text)
Definition
TileRawData.cxx:81
Identifier
Definition
IdentifierFieldParser.cxx:14
std
STL namespace.
Generated on
for ATLAS Offline Software by
1.17.0