Project
Loading...
Searching...
No Matches
ElmbData.h
Go to the documentation of this file.
1// Copyright 2019-2020 CERN and copyright holders of ALICE O2.
2// See https://alice-o2.web.cern.ch/copyright for details of the copyright holders.
3// All rights not expressly granted are reserved.
4//
5// This software is distributed under the terms of the GNU General Public
6// License v3 (GPL Version 3), copied verbatim in the file "COPYING".
7//
8// In applying this license CERN does not waive the privileges and immunities
9// granted to it by virtue of its status as an Intergovernmental Organization
10// or submit itself to any jurisdiction.
11
12#ifndef ALICEO2_EMCAL_ELMBDATA_H_
13#define ALICEO2_EMCAL_ELMBDATA_H_
14
15#include <vector>
16#include <tuple>
17#include <Rtypes.h>
18
19namespace o2
20{
21namespace emcal
22{
23
24const int NElmbSensors = 180;
25typedef std::tuple<int, float, float, float, float> Sensor_t; //{Npoints, mean, rms, min, max}
26
28{
29
30 public:
31 ElmbData() = default;
32 ~ElmbData() = default;
33
34 void setData(std::vector<Sensor_t> data) { mELMB = data; }
35 void setSensor(int iSensor, Sensor_t data) { mELMB[iSensor] = data; }
36 void setSensor(int iSensor, int Npoints, float mean, float rms, float min, float max)
37 {
38 mELMB[iSensor] = std::make_tuple(Npoints, mean, rms, min, max);
39 }
40
41 std::vector<Sensor_t> getData() { return mELMB; }
42 Sensor_t getSensor(short iSensor) { return mELMB[iSensor]; }
43 int getNpoints(short iSensor) { return std::get<0>(mELMB[iSensor]); }
44 float getMean(short iSensor) { return std::get<1>(mELMB[iSensor]); }
45 float getRMS(short iSensor) { return std::get<2>(mELMB[iSensor]); }
46 float getMin(short iSensor) { return std::get<3>(mELMB[iSensor]); }
47 float getMax(short iSensor) { return std::get<4>(mELMB[iSensor]); }
48
49 private:
50 std::vector<Sensor_t> mELMB;
51
52 ClassDefNV(ElmbData, 1);
53};
54
55} // namespace emcal
56
57} // namespace o2
58
59#endif
int getNpoints(short iSensor)
Definition ElmbData.h:43
float getMax(short iSensor)
Definition ElmbData.h:47
void setSensor(int iSensor, int Npoints, float mean, float rms, float min, float max)
Definition ElmbData.h:36
float getMin(short iSensor)
Definition ElmbData.h:46
float getRMS(short iSensor)
Definition ElmbData.h:45
Sensor_t getSensor(short iSensor)
Definition ElmbData.h:42
void setSensor(int iSensor, Sensor_t data)
Definition ElmbData.h:35
void setData(std::vector< Sensor_t > data)
Definition ElmbData.h:34
float getMean(short iSensor)
Definition ElmbData.h:44
std::vector< Sensor_t > getData()
Definition ElmbData.h:41
GLboolean * data
Definition glcorearb.h:298
std::tuple< int, float, float, float, float > Sensor_t
Definition ElmbData.h:25
const int NElmbSensors
Definition ElmbData.h:24
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...
constexpr size_t min
constexpr size_t max