ATLAS Offline Software
Loading...
Searching...
No Matches
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
23
24#include <iostream>
25#include <sstream>
26#include <iomanip>
27#include <algorithm>
28#include <functional> //for placeholders
29
31 float amplitude, float time, float quality, float ped )
32 : TileRawData( id )
34 , m_time(1,time)
36 , m_pedestal(ped)
37{
38}
39
41 float amplitude, float time, float quality, float ped )
42 : TileRawData( HWid )
44 , m_time(1,time)
46 , m_pedestal(ped)
47{
48}
49
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
63int 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
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
78 m_time.insert(m_time.begin(), time); // put new time in front
79}
80
81int 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
89 std::cout << (std::string) (*this) << std::endl;
90}
91
92TileRawChannel::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}
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.