Project
Loading...
Searching...
No Matches
TimeDeadMap.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
14#ifndef ALICEO2_ITSMFT_TIMEDEADMAP_H
15#define ALICEO2_ITSMFT_TIMEDEADMAP_H
16
17#include "Rtypes.h"
18#include <vector>
19#include <map>
20
21namespace o2
22{
23
24namespace itsmft
25{
26
27class NoiseMap;
28
30{
31 public:
32 // Constructor
33 TimeDeadMap(std::map<unsigned long, std::vector<uint16_t>>& deadmap)
34 {
35 mEvolvingDeadMap.swap(deadmap);
36 }
37
39 TimeDeadMap() = default;
41 ~TimeDeadMap() = default;
42
43 void fillMap(unsigned long firstOrbit, const std::vector<uint16_t>& deadVect)
44 {
45 mEvolvingDeadMap[firstOrbit] = deadVect;
46 };
47
48 void fillMap(const std::vector<uint16_t>& deadVect)
49 {
50 mStaticDeadMap = deadVect;
51 }
52
53 void clear()
54 {
55 mEvolvingDeadMap.clear();
56 mStaticDeadMap.clear();
57 }
58
59 void decodeMap(NoiseMap& noisemap) const;
60 void decodeMap(unsigned long orbit, o2::itsmft::NoiseMap& noisemap, bool includeStaticMap = true, long orbitGapAllowed = 330000) const;
61 std::string getMapVersion() const { return mMAP_VERSION; };
62
63 unsigned long getEvolvingMapSize() const { return mEvolvingDeadMap.size(); };
64 std::vector<unsigned long> getEvolvingMapKeys() const;
65 void getStaticMap(std::vector<uint16_t>& mmap) const { mmap = mStaticDeadMap; };
66 long getMapAtOrbit(unsigned long orbit, std::vector<uint16_t>& mmap) const;
67 void setMapVersion(std::string version) { mMAP_VERSION = version; };
68
69 bool isDefault() const { return mIsDefaultObject; };
70 void setAsDefault(bool isdef = true) { mIsDefaultObject = isdef; };
71
72 private:
73 bool mIsDefaultObject = false;
74 std::string mMAP_VERSION = "3";
75 std::map<unsigned long, std::vector<uint16_t>> mEvolvingDeadMap;
76 std::vector<uint16_t> mStaticDeadMap;
77
78 ClassDefNV(TimeDeadMap, 2);
79};
80
81} // namespace itsmft
82} // namespace o2
83
84#endif /* ALICEO2_ITSMFT_TIMEDEADMAP_H */
uint64_t orbit
Definition RawEventData.h:6
uint32_t version
Definition RawData.h:8
NoiseMap class for the ITS and MFT.
Definition NoiseMap.h:39
void fillMap(const std::vector< uint16_t > &deadVect)
Definition TimeDeadMap.h:48
long getMapAtOrbit(unsigned long orbit, std::vector< uint16_t > &mmap) const
std::vector< unsigned long > getEvolvingMapKeys() const
TimeDeadMap(std::map< unsigned long, std::vector< uint16_t > > &deadmap)
Definition TimeDeadMap.h:33
void fillMap(unsigned long firstOrbit, const std::vector< uint16_t > &deadVect)
Definition TimeDeadMap.h:43
void setMapVersion(std::string version)
Definition TimeDeadMap.h:67
unsigned long getEvolvingMapSize() const
Definition TimeDeadMap.h:63
void decodeMap(NoiseMap &noisemap) const
TimeDeadMap()=default
Constructor.
~TimeDeadMap()=default
Destructor.
void setAsDefault(bool isdef=true)
Definition TimeDeadMap.h:70
void getStaticMap(std::vector< uint16_t > &mmap) const
Definition TimeDeadMap.h:65
std::string getMapVersion() const
Definition TimeDeadMap.h:61
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...