ATLAS Offline Software
LArOFC.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef LARRAWCONDITIONS_LAROFC
6 #define LARRAWCONDITIONS_LAROFC
7 
13 
14 #include "LArElecCalib/ILArOFC.h"
15 
16 #include <vector>
17 #include <array>
18 
19 class LArOFC : public ILArOFC {
20 
21  public:
22  LArOFC(const LArOnlineID_Base* onlineID,
24  const size_t nGains);
25 
26  virtual ~LArOFC();
27 
28  bool setOFC(const IdentifierHash& hid, const int gain, std::pair<std::vector<float>,std::vector<float>> ofcab);
29 
30  virtual ILArOFC::OFCRef_t OFC_a(const HWIdentifier& id,
31  int gain,
32  int tbin=0) const;
33 
34  virtual ILArOFC::OFCRef_t OFC_b(const HWIdentifier& id,
35  int gain,
36  int tbin=0) const;
37 
38  virtual ILArOFC::OFCRef_t OFC_a(const Identifier& id,
39  int gain,
40  int tbin=0) const;
41  virtual ILArOFC::OFCRef_t OFC_b(const Identifier& id,
42  int gain,
43  int tbin=0) const;
44  //FIXME: is used, for data
45  virtual float timeOffset(const HWIdentifier& id, int gain) const;
46  virtual float timeOffset(const Identifier& CellID, int gain) const;
47  virtual unsigned nTimeBins(const HWIdentifier& id, int gain) const;
48  virtual unsigned nTimeBins(const Identifier& CellID, int gain) const;
49  virtual float timeBinWidth(const HWIdentifier& id, int gain) const;
50  virtual float timeBinWidth(const Identifier& CellID, int gain) const;
51 
52  private:
53  // dimensions n x m
54  // n: number of IDs
55  // m: number of OFCs
56  typedef std::vector<std::vector<float> > vecOFCa;
57  typedef std::vector<std::vector<float> > vecOFCb;
58 
59  // dimensions k x (n x m)
60  // k: 3 (value of enum LARNGAIN)
61  std::array<vecOFCa, CaloGain::LARNGAIN> m_OFCa;
62  std::array<vecOFCa, CaloGain::LARNGAIN> m_OFCb;
63 
66 
67 };
68 
69 #include "AthenaKernel/CLASS_DEF.h"
70 CLASS_DEF( LArOFC, 71011311, 1)
71 #include "AthenaKernel/CondCont.h"
73 
74 #endif
LArOFC::timeBinWidth
virtual float timeBinWidth(const HWIdentifier &id, int gain) const
Definition: LArOFC.cxx:65
LArOFC::vecOFCb
std::vector< std::vector< float > > vecOFCb
Definition: LArOFC.h:57
LArOFC::m_cabling
const LArOnOffIdMapping * m_cabling
Definition: LArOFC.h:65
LArOnlineID_Base.h
CaloCondBlobAlgs_fillNoiseFromASCII.gain
gain
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:110
ReadCellNoiseFromCool.cabling
cabling
Definition: ReadCellNoiseFromCool.py:154
LArOFC::OFC_b
virtual ILArOFC::OFCRef_t OFC_b(const HWIdentifier &id, int gain, int tbin=0) const
Definition: LArOFC.cxx:43
ILArOFC.h
HWIdentifier
Definition: HWIdentifier.h:13
LArOFC::nTimeBins
virtual unsigned nTimeBins(const HWIdentifier &id, int gain) const
Definition: LArOFC.cxx:59
LArOFC::m_onlineID
const LArOnlineID_Base * m_onlineID
Definition: LArOFC.h:64
LArOnOffIdMapping.h
LArOFC
Definition: LArOFC.h:19
Identifier
Definition: DetectorDescription/Identifier/Identifier/Identifier.h:32
LArOFC::~LArOFC
virtual ~LArOFC()
Definition: LArOFC.cxx:24
LArOFC::setOFC
bool setOFC(const IdentifierHash &hid, const int gain, std::pair< std::vector< float >, std::vector< float >> ofcab)
Definition: LArOFC.cxx:26
ILArOFC
Definition: ILArOFC.h:14
CONDCONT_DEF
CONDCONT_DEF(LArOFC, 50867161, ILArOFC)
LArOnlineID_Base
Helper for the Liquid Argon Calorimeter cell identifiers.
Definition: LArOnlineID_Base.h:105
LArOFC::vecOFCa
std::vector< std::vector< float > > vecOFCa
Definition: LArOFC.h:56
HWIdentifier.h
IdentifierHash.h
LArOFC::m_OFCb
std::array< vecOFCa, CaloGain::LARNGAIN > m_OFCb
Definition: LArOFC.h:62
LArOFC::timeOffset
virtual float timeOffset(const HWIdentifier &id, int gain) const
Definition: LArOFC.cxx:53
CLASS_DEF
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
Definition: Control/AthenaKernel/AthenaKernel/CLASS_DEF.h:64
IdentifierHash
Definition: IdentifierHash.h:38
LArOFC::OFC_a
virtual ILArOFC::OFCRef_t OFC_a(const HWIdentifier &id, int gain, int tbin=0) const
access to OFCs by online ID, gain, and tbin (!=0 for testbeam)
Definition: LArOFC.cxx:33
CaloGain.h
LArOFC::m_OFCa
std::array< vecOFCa, CaloGain::LARNGAIN > m_OFCa
Definition: LArOFC.h:61
CLASS_DEF.h
macros to associate a CLID to a type
LArOFC::LArOFC
LArOFC(const LArOnlineID_Base *onlineID, const LArOnOffIdMapping *cabling, const size_t nGains)
Definition: LArOFC.cxx:10
LArVectorProxy
Proxy for accessing a range of float values like a vector.
Definition: LArVectorProxy.h:38
LArOnOffIdMapping
Definition: LArOnOffIdMapping.h:20