ATLAS Offline Software
LArRawSC.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef LARRAWSC_H
6 #define LARRAWSC_H
7 #include <vector>
8 #include <utility> //for std::move
9 
11 
19 class LArRawSC final{
20 
21  private:
22 
25 
27  short m_chan = 0;
28 
30  unsigned int m_sourceId = 0U;
31 
33  std::vector < int > m_energies;
34 
36  std::vector < unsigned short > m_BCId;
37 
39  std::vector < bool > m_satur;
40 
42  std::vector < bool > m_passTauSelection;
43 
45  std::vector< int > m_tauEnergies;
46 
49 
52 
54  bool m_pedOverflow{};
55 
56  public:
62  LArRawSC(const HWIdentifier& channel_value, const short chan,
63  const unsigned int sourceId, const std::vector<int>& energies,
64  const std::vector<unsigned short>& bcids, std::vector<bool>& satur)
65  : m_hardwareID(channel_value),
66  m_chan(chan),
67  m_sourceId(sourceId),
69  m_BCId(bcids),
70  m_satur(satur),
71  m_ofcaOverflow(false),
72  m_ofcbOverflow(false),
73  m_pedOverflow(false) {}
74 
75  LArRawSC(const HWIdentifier& channel_value, const short chan,
76  const unsigned int sourceId, std::vector<int>&& energies,
77  std::vector<unsigned short>&& bcids, std::vector<bool>&& satur)
78  : m_hardwareID(channel_value),
79  m_chan(chan),
80  m_sourceId(sourceId),
81  m_energies(std::move(energies)),
82  m_BCId(std::move(bcids)),
83  m_satur(std::move(satur)),
84  m_ofcaOverflow(false),
85  m_ofcbOverflow(false),
86  m_pedOverflow(false) {}
87 
89  const HWIdentifier& hardwareID() const { return m_hardwareID; }
90 
92  short chan() const { return m_chan; }
93 
95  unsigned int SourceId() const { return m_sourceId; }
96 
98  int nsamples() const { return m_energies.size(); }
99 
101  const std::vector<int>& energies() const { return m_energies; }
102 
104  const std::vector<unsigned short>& bcids() const { return m_BCId; }
105 
107  const std::vector<bool>& satur() const { return m_satur; }
108 
110  const std::vector<int>& tauEnergies() const { return m_tauEnergies; }
111 
113  const std::vector<bool>& passTauSelection() const {
114  return m_passTauSelection; }
115 
117  bool ofcaOverflow() const { return m_ofcaOverflow; }
118 
120  bool ofcbOverflow() const { return m_ofcbOverflow; }
121 
123  bool pedOverflow() const { return m_pedOverflow; }
124 
125 
127  void setHardwareId(const HWIdentifier id);
128 
130  void setChannel(const unsigned chan);
131 
133  void setSourceId(const unsigned sourceId);
134 
138  void setEnergies( const std::vector < int >&& energies);
139 
143  void setBCIds( const std::vector < unsigned short >&& bcids);
144 
148  void setTauEnergies( const std::vector < int >&& tauEnergies);
149 
151  void setPassTauSelection( const std::vector < bool >&& pass);
152 
153 
155  void setSaturation( const std::vector < bool >&& satur);
156 
158  void setOFCaOverflow(bool overflow){ m_ofcaOverflow=overflow; }
159 
161  void setOFCbOverflow(bool overflow){ m_ofcbOverflow=overflow; }
162 
164  void setPedOverflow(bool overflow){ m_pedOverflow=overflow; }
165 
167  LArRawSC() = default;
169  LArRawSC(const LArRawSC&) = default;
170  LArRawSC(LArRawSC&&) = default;
171  LArRawSC& operator=(const LArRawSC&) = default;
172  LArRawSC& operator=(LArRawSC&&) = default;
174  ~LArRawSC() = default;
175 
176 
177 };
178 
179 #endif //LArRawSC_H
180 
LArRawSC
Liquid Argon SuperCell raw data.
Definition: LArRawSC.h:19
LArRawSC::LArRawSC
LArRawSC(const LArRawSC &)=default
default copy/move assignement
LArRawSC::operator=
LArRawSC & operator=(const LArRawSC &)=default
LArRawSC::m_ofcaOverflow
bool m_ofcaOverflow
OFCa Overflow.
Definition: LArRawSC.h:48
LArRawSC::setChannel
void setChannel(const unsigned chan)
Set channel number.
Definition: LArRawSC.cxx:32
LArRawSC::setEnergies
void setEnergies(const std::vector< int > &&energies)
Set energies .
Definition: LArRawSC.cxx:8
LArRawSC::setPedOverflow
void setPedOverflow(bool overflow)
@set pedestal Overflow
Definition: LArRawSC.h:164
LArRawSC::SourceId
unsigned int SourceId() const
Definition: LArRawSC.h:95
LArRawSC::hardwareID
const HWIdentifier & hardwareID() const
Definition: LArRawSC.h:89
LArRawSC::LArRawSC
LArRawSC(const HWIdentifier &channel_value, const short chan, const unsigned int sourceId, const std::vector< int > &energies, const std::vector< unsigned short > &bcids, std::vector< bool > &satur)
constructor
Definition: LArRawSC.h:62
LArRawSC::setPassTauSelection
void setPassTauSelection(const std::vector< bool > &&pass)
@set true if passes the tau selection
Definition: LArRawSC.cxx:23
LArRawSC::m_energies
std::vector< int > m_energies
vector of energies
Definition: LArRawSC.h:33
HWIdentifier
Definition: HWIdentifier.h:13
LArRawSC::setOFCaOverflow
void setOFCaOverflow(bool overflow)
@set OFCa Overflow
Definition: LArRawSC.h:158
LArRawSC::satur
const std::vector< bool > & satur() const
Definition: LArRawSC.h:107
LArRawSC::tauEnergies
const std::vector< int > & tauEnergies() const
Definition: LArRawSC.h:110
LArRawSC::setOFCbOverflow
void setOFCbOverflow(bool overflow)
@set OFCb Overflow
Definition: LArRawSC.h:161
LArRawSC::m_hardwareID
HWIdentifier m_hardwareID
Online Identifier.
Definition: LArRawSC.h:24
LArRawSC::setTauEnergies
void setTauEnergies(const std::vector< int > &&tauEnergies)
Set energies*taus .
Definition: LArRawSC.cxx:18
LArRawSC::operator=
LArRawSC & operator=(LArRawSC &&)=default
LArRawSC::ofcaOverflow
bool ofcaOverflow() const
Definition: LArRawSC.h:117
LArRawSC::m_chan
short m_chan
Latome channel.
Definition: LArRawSC.h:27
LArRawSC::~LArRawSC
~LArRawSC()=default
Destructor.
LArRawSC::m_BCId
std::vector< unsigned short > m_BCId
vector of bcids
Definition: LArRawSC.h:36
LArRawSC::chan
short chan() const
Definition: LArRawSC.h:92
LArRawSC::m_passTauSelection
std::vector< bool > m_passTauSelection
did pass tau selection
Definition: LArRawSC.h:42
LArRawSC::nsamples
int nsamples() const
Definition: LArRawSC.h:98
LArRawSC::pedOverflow
bool pedOverflow() const
Definition: LArRawSC.h:123
HWIdentifier.h
LArRawSC::passTauSelection
const std::vector< bool > & passTauSelection() const
Definition: LArRawSC.h:113
LArRawSC::setHardwareId
void setHardwareId(const HWIdentifier id)
Set identifier.
Definition: LArRawSC.cxx:28
LArRawSC::m_satur
std::vector< bool > m_satur
vector of saturation flags
Definition: LArRawSC.h:39
LArRawSC::LArRawSC
LArRawSC(LArRawSC &&)=default
LArRawSC::bcids
const std::vector< unsigned short > & bcids() const
Definition: LArRawSC.h:104
LArRawSC::m_tauEnergies
std::vector< int > m_tauEnergies
vector of taus*energies
Definition: LArRawSC.h:45
LArRawSC::m_ofcbOverflow
bool m_ofcbOverflow
OFCb Overflow.
Definition: LArRawSC.h:51
LArRawSC::setBCIds
void setBCIds(const std::vector< unsigned short > &&bcids)
Set bcids.
Definition: LArRawSC.cxx:13
LArRawSC::LArRawSC
LArRawSC()=default
default constructor for persistency
LArRawSC::ofcbOverflow
bool ofcbOverflow() const
Definition: LArRawSC.h:120
LArRawSC::m_pedOverflow
bool m_pedOverflow
pedestal Overflow
Definition: LArRawSC.h:54
LArRawSC::setSourceId
void setSourceId(const unsigned sourceId)
Set source id.
Definition: LArRawSC.cxx:36
LArRawSC::setSaturation
void setSaturation(const std::vector< bool > &&satur)
@set saturation flags
Definition: LArRawSC.cxx:40
LArRawSC::m_sourceId
unsigned int m_sourceId
LATOME source Id.
Definition: LArRawSC.h:30
LArRawSC::LArRawSC
LArRawSC(const HWIdentifier &channel_value, const short chan, const unsigned int sourceId, std::vector< int > &&energies, std::vector< unsigned short > &&bcids, std::vector< bool > &&satur)
Definition: LArRawSC.h:75
LArRawSC::energies
const std::vector< int > & energies() const
Definition: LArRawSC.h:101