ATLAS Offline Software
LArOFCComplete.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 LARRAWCONDITIONS_LAROFCCOMPLETE_H
6 #define LARRAWCONDITIONS_LAROFCCOMPLETE_H
7 
8 #include "LArElecCalib/ILArOFC.h"
11 
12 #include <vector>
13 #include <iostream>
14 
23 class LArOFCComplete: public ILArOFC,
24  public LArConditionsContainer<LArOFCP1>
25  {
26 
27  public:
28 
32 
34 
35  virtual ~LArOFCComplete( );
36 
37  // retrieving coefficients using online ID
38 
39  virtual OFCRef_t OFC_a(const HWIdentifier& CellID,
40  int gain,
41  int tbin=0) const override;
42  virtual OFCRef_t OFC_b(const HWIdentifier& CellID,
43  int gain,
44  int tbin=0) const override;
45 
46  // retrieving time offset using online/offline ID
47 
48  virtual float timeOffset(const HWIdentifier& CellID, int gain) const override;
49 
50  //For the TB / cosmic case: retrieve the number of time-bins (aka "phases")
51  virtual unsigned nTimeBins(const HWIdentifier& CellID, int gain) const override;
52 
53  //For the TB / cosmic case: retrieve the witdth of the time bin (default 24 bins in 25 ns)
54  virtual float timeBinWidth(const HWIdentifier& CellID, int gain) const override;
55 
56  // set method filling the data members individually (if one
57  // wants to fill this class not using the DB)
58  void set(const HWIdentifier& CellID, int gain,
59  const std::vector<std::vector<float> >& vOFC_a,
60  const std::vector<std::vector<float> >& vOFC_b,
61  float timeOffset=0, float timeBinWidth=25./24.);
62 
63  void dumpOFC(const std::string& output_file_name) const ;
64 
65 
66  private:
67  static const std::vector<float> m_empty;
68 
69  };
70 
71 #include "AthenaKernel/CondCont.h"
72 CLASS_DEF( LArOFCComplete, 101879462, 1)
74 
75 
76 #endif
LArOFCP1
c-struct reproducing the structure of the persistent data
Definition: LArOFCP1.h:22
CondCont.h
Hold mappings of ranges to condition objects.
LArOFCComplete::set
void set(const HWIdentifier &CellID, int gain, const std::vector< std::vector< float > > &vOFC_a, const std::vector< std::vector< float > > &vOFC_b, float timeOffset=0, float timeBinWidth=25./24.)
Definition: LArOFCComplete.cxx:17
CONDCONT_DEF
CONDCONT_DEF(LArOFCComplete, 144694594, ILArOFC)
CaloCondBlobAlgs_fillNoiseFromASCII.gain
gain
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:110
LArOFCComplete::OFC_a
virtual OFCRef_t OFC_a(const HWIdentifier &CellID, int gain, int tbin=0) const override
access to OFCs by online ID, gain, and tbin (!=0 for testbeam)
Definition: LArOFCComplete.cxx:29
LArOFCComplete::m_empty
static const std::vector< float > m_empty
Definition: LArOFCComplete.h:67
LArConditionsContainer.h
ILArOFC.h
HWIdentifier
Definition: HWIdentifier.h:13
LArOFCComplete::CONTAINER
LArConditionsContainer< LArCondObj > CONTAINER
Definition: LArOFCComplete.h:31
LArConditionsContainer
Definition: LArAutoCorrSym.h:14
LArOFCComplete::OFC_b
virtual OFCRef_t OFC_b(const HWIdentifier &CellID, int gain, int tbin=0) const override
Definition: LArOFCComplete.cxx:42
LArOFCComplete::timeOffset
virtual float timeOffset(const HWIdentifier &CellID, int gain) const override
Definition: LArOFCComplete.cxx:54
LArOFCComplete::nTimeBins
virtual unsigned nTimeBins(const HWIdentifier &CellID, int gain) const override
Definition: LArOFCComplete.cxx:67
rename_histos_in_files_from_old_code.output_file_name
string output_file_name
Definition: rename_histos_in_files_from_old_code.py:253
LArOFCComplete::LArCondObj
LArOFCP1 LArCondObj
Definition: LArOFCComplete.h:30
LArOFCComplete::timeBinWidth
virtual float timeBinWidth(const HWIdentifier &CellID, int gain) const override
Definition: LArOFCComplete.cxx:78
ILArOFC
Definition: ILArOFC.h:14
LArOFCComplete::~LArOFCComplete
virtual ~LArOFCComplete()
Definition: LArOFCComplete.cxx:13
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
LArOFCP1.h
LArOFCComplete::dumpOFC
void dumpOFC(const std::string &output_file_name) const
Definition: LArOFCComplete.cxx:92
LArOFCComplete::LArOFCComplete
LArOFCComplete()
Definition: LArOFCComplete.cxx:10
LArOFCComplete
This class implements the ILArOFC interface.
Definition: LArOFCComplete.h:25
LArOFCComplete::OFCRef_t
ILArOFC::OFCRef_t OFCRef_t
Definition: LArOFCComplete.h:29
LArVectorProxy
Proxy for accessing a range of float values like a vector.
Definition: LArVectorProxy.h:38