ATLAS Offline Software
Loading...
Searching...
No Matches
TileRawChannel.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//*****************************************************************************
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
23
24#include <iostream>
25#include <sstream>
26#include <iomanip>
27#include <algorithm>
28
30 float amplitude, float time, float quality, float ped )
31 : TileRawData( id )
33 , m_time(1,time)
35 , m_pedestal(ped)
36{
37}
38
40 float amplitude, float time, float quality, float ped )
41 : TileRawData( HWid )
43 , m_time(1,time)
45 , m_pedestal(ped)
46{
47}
48
50 std::vector<float>&& amplitude,
51 std::vector<float>&& time,
52 std::vector<float>&& quality,
53 float ped /*= 0.0*/)
54 : TileRawData( HWid ),
55 m_amplitude (std::move(amplitude)),
56 m_time (std::move(time)),
57 m_quality (std::move(quality)),
58 m_pedestal (ped)
59{
60}
61
62int TileRawChannel::add(float amplitude, float time, float quality) {
63 m_amplitude.push_back(amplitude);
64 m_time.push_back(time);
65 m_quality.push_back(quality);
66 return m_amplitude.size();
67}
68
70 using std::placeholders::_1;
71 std::transform(m_amplitude.begin(), m_amplitude.end(),
72 m_amplitude.begin(),
73 std::bind(std::multiplies<float>(),scale,_1));
74}
75
77 m_time.insert(m_time.begin(), time); // put new time in front
78}
79
80int TileRawChannel::insert(float amplitude, float time, float quality) {
81 m_amplitude.insert(m_amplitude.begin(), amplitude);
82 m_time.insert(m_time.begin(), time);
83 m_quality.insert(m_quality.begin(), quality);
84 return m_amplitude.size();
85}
86
88 std::cout << (std::string) (*this) << std::endl;
89}
90
91TileRawChannel::operator std::string() const {
92 std::ostringstream text(std::ostringstream::out);
93
94 text << TileRawData::operator std::string();
95 print_to_stream(m_amplitude, " ampl =", text);
96 print_to_stream(m_time, " time =", text);
97 print_to_stream(m_quality, " qual =", text);
98
99 return text.str();
100}
std::vector< float > m_time
void insertTime(float time)
float time(int ind=0) const
float quality(int ind=0) const
int add(float amplitude, float time, float quality)
std::vector< float > m_quality
int insert(float amplitude, float time, float quality)
void print(void) const
float amplitude(int ind=0) const
std::vector< float > m_amplitude
void scaleAmplitude(float scale)
static void print_to_stream(const std::vector< float > &val, const std::string &label, std::ostringstream &text)
STL namespace.