Project
Loading...
Searching...
No Matches
ClusterDump.cxx
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
21
22#include <algorithm>
23#include <cstring>
24#include <iterator>
25#include <limits>
26#include <numeric>
27#include <set>
28#include <stdexcept>
29#include <string>
30// GG
31#include <iostream>
32
33#include "Framework/Logger.h"
34
36
37namespace o2
38{
39namespace mch
40{
41
42//_________________________________________________________________________________________________
43ClusterDump::ClusterDump(const char* str, int mode_)
44{
45 fileName = str;
46 mode = mode_;
47 dumpFiles[0].open(str, std::fstream::out | std::fstream::app |
48 std::ios_base::binary);
49}
50
51//_________________________________________________________________________________________________
53{
54 // The dump file is not close a the end of processing
55 // std::cout << "Close the file" << std::endl;
56 dumpFiles[0].close();
57}
58
59//_________________________________________________________________________________________________
60void ClusterDump::flush() { dumpFiles[0].flush(); }
61
62void ClusterDump::dumpFloat32(int ifile, long size, const float_t* data)
63{
64 dumpFiles[ifile].write((char*)&size, sizeof(long));
65 dumpFiles[ifile].write((char*)data, sizeof(float) * size);
66}
67
68void ClusterDump::dumpFloat64(int ifile, long size, const double_t* data)
69{
70 dumpFiles[ifile].write((char*)&size, sizeof(long));
71 dumpFiles[ifile].write((char*)data, sizeof(double) * size);
72}
73
74void ClusterDump::dumpInt32(int ifile, long size, const int32_t* data)
75{
76 dumpFiles[ifile].write((char*)&size, sizeof(long));
77 dumpFiles[ifile].write((char*)data, sizeof(int32_t) * size);
78}
79
80void ClusterDump::dumpUInt32(int ifile, long size, const uint32_t* data)
81{
82 dumpFiles[ifile].write((char*)&size, sizeof(long));
83 dumpFiles[ifile].write((char*)data, sizeof(uint32_t) * size);
84}
85
86void ClusterDump::dumpInt16(int ifile, long size, const int16_t* data)
87{
88 dumpFiles[ifile].write((char*)&size, sizeof(long));
89 dumpFiles[ifile].write((char*)data, sizeof(int16_t) * size);
90}
91
92} // namespace mch
93} // namespace o2
void dumpInt16(int ifile, long size, const int16_t *data)
void dumpUInt32(int ifile, long size, const uint32_t *data)
void dumpFloat64(int ifile, long size, const double_t *data)
void dumpFloat32(int ifile, long size, const float_t *data)
void dumpInt32(int ifile, long size, const int32_t *data)
ClusterDump(const char *str, int mode)
GLenum mode
Definition glcorearb.h:266
GLsizeiptr size
Definition glcorearb.h:659
GLboolean * data
Definition glcorearb.h:298
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...
const std::string str