ATLAS Offline Software
LArReadParamsFromFile.h
Go to the documentation of this file.
1 //Dear emacs, this is -*- c++ -*-
2 
3 /*
4  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
5 */
6 
7 
16 #ifndef LARREADPARAMSFROMFILE_H
17 #define LARREADPARAMSFROMFILE_H
19 
21 
22 #include <fstream>
23 #include <string>
24 
26 
27 #include "GaudiKernel/Bootstrap.h"
28 #include "GaudiKernel/ISvcLocator.h"
29 #include "GaudiKernel/IToolSvc.h"
30 
36 
37 template <class DATA>
39 {
40  public:
41  LArReadParamsFromFile(const std::string & name, ISvcLocator * pSvcLocator);
43 
44  //standard algorithm methods
45  virtual StatusCode initialize() override;
46  virtual StatusCode execute() override {return StatusCode::SUCCESS;}
47  virtual StatusCode stop ATLAS_NOT_THREAD_SAFE () override;
48 
49  private:
51  const LArEM_ID* m_emId;
54  SG::ReadCondHandleKey<LArOnOffIdMapping> m_cablingKey{this,"CablingKey","LArOnOffIdMap","SG Key of LArOnOffIdMapping object"};
56  std::string m_groupingName ;
57 
58  std::string m_file ;
60  std::string m_chIdType ;
61  std::string m_customKey;
62 
63  DATA * m_dataclass ;
64 
66 
67  // define 'set' method for each foreseen data class:
68  //---------------------------------------------------
69 
70  StatusCode set(LArCaliPulseParamsComplete* complete, HWIdentifier chid, int gain, const std::vector<float>& data) {
71  complete->set(chid, gain, data[0], data[1], data[2], data[3], (short)data[4]) ;
72  return StatusCode::SUCCESS ;
73  } ;
74  StatusCode set(LArDetCellParamsComplete* complete, HWIdentifier chid, int gain, const std::vector<float>& data) {
75  complete->set(chid, gain, data[0], data[1]) ;
76  return StatusCode::SUCCESS ;
77  } ;
78  StatusCode set(LArPhysCaliTdiffComplete* complete, HWIdentifier chid, int gain, const std::vector<float>& data) {
79  complete->set(chid, gain, data[0]) ;
80  return StatusCode::SUCCESS ;
81  } ;
82  StatusCode set(LArTdriftComplete* complete, HWIdentifier chid, int /*gain*/, const std::vector<float>& data) {
83  complete->set(chid, data[0]) ;
84  return StatusCode::SUCCESS ;
85  } ;
86  StatusCode set(LArMphysOverMcalComplete* complete, HWIdentifier chid, int gain, const std::vector<float>& data) {
87  complete->set(chid, gain, data[0]) ;
88  return StatusCode::SUCCESS ;
89  } ;
90  StatusCode set(LArRinjComplete* complete, HWIdentifier chid, int /*gain*/, const std::vector<float>& data) {
91  complete->set(chid, data[0]) ;
92  return StatusCode::SUCCESS ;
93  } ;
94  StatusCode set(LArTshaperComplete* complete, HWIdentifier chid, int /*gain*/, const std::vector<float>& data) {
95  complete->set(chid, data[0]) ;
96  return StatusCode::SUCCESS ;
97  } ;
98  StatusCode set(LArEMEC_CphiComplete* complete, HWIdentifier chid, int /*gain*/, const std::vector<float>& data) {
99  complete->set(chid, data[0]) ;
100  return StatusCode::SUCCESS ;
101  } ;
102  StatusCode set(LArEMEC_HValphaComplete* complete, HWIdentifier chid, int /*gain*/, const std::vector<float>& data) {
103  complete->set(chid, data[0]) ;
104  return StatusCode::SUCCESS ;
105  } ;
106  StatusCode set(LArEMEC_HVbetaComplete* complete, HWIdentifier chid, int /*gain*/, const std::vector<float>& data) {
107  complete->set(chid, data[0]) ;
108  return StatusCode::SUCCESS ;
109  } ;
110  StatusCode set(LArCableLengthComplete* complete, HWIdentifier chid, int /*gain*/, const std::vector<float>& data) {
111  complete->set(chid, data[0]) ;
112  return StatusCode::SUCCESS ;
113  } ;
114  StatusCode set(LArCableAttenuationComplete* complete, HWIdentifier chid, int /*gain*/, const std::vector<float>& data) {
115  complete->set(chid, data[0]) ;
116  return StatusCode::SUCCESS ;
117  } ;
118 
119  //StatusCode set(LArCaliPulseParamsVsCalib* calib, HWIdentifier chid, int /*gain*/, std::vector<float> data) {
120  // calib->set(chid, data[0], data[1], data[2], data[3], (short)data[4]) ;
121  // return StatusCode::SUCCESS ;
122  //`} ;
123 
124  // define symLink for all classes
125  //--------------------------------
126 
127  StatusCode do_symLink ATLAS_ARGUMENT_NOT_CONST_THREAD_SAFE (const LArCaliPulseParamsComplete* data) { return detStore()->symLink(data,static_cast<const ILArCaliPulseParams*>(data)).ignore() ; } ;
128  StatusCode do_symLink ATLAS_ARGUMENT_NOT_CONST_THREAD_SAFE (const LArDetCellParamsComplete* data) { return detStore()->symLink(data,static_cast<const ILArDetCellParams*>(data)).ignore() ; } ;
129  StatusCode do_symLink ATLAS_ARGUMENT_NOT_CONST_THREAD_SAFE (const LArPhysCaliTdiffComplete* data) { return detStore()->symLink(data,static_cast<const ILArPhysCaliTdiff*>(data)).ignore() ; } ;
130  StatusCode do_symLink ATLAS_ARGUMENT_NOT_CONST_THREAD_SAFE (const LArTdriftComplete* data) { return detStore()->symLink(data,static_cast<const ILArTdrift*>(data)).ignore() ; } ;
131  StatusCode do_symLink ATLAS_ARGUMENT_NOT_CONST_THREAD_SAFE (const LArMphysOverMcalComplete* data) { return detStore()->symLink(data,static_cast<const ILArMphysOverMcal*>(data)).ignore() ; } ;
132  StatusCode do_symLink ATLAS_ARGUMENT_NOT_CONST_THREAD_SAFE (const LArRinjComplete* data) { return detStore()->symLink(data,static_cast<const ILArRinj*>(data)).ignore() ; } ;
133  StatusCode do_symLink ATLAS_ARGUMENT_NOT_CONST_THREAD_SAFE (const LArTshaperComplete* data) { return detStore()->symLink(data,static_cast<const ILArTshaper*>(data)).ignore() ; } ;
134  StatusCode do_symLink ATLAS_ARGUMENT_NOT_CONST_THREAD_SAFE (const LArEMEC_CphiComplete* data) { return detStore()->symLink(data,static_cast<const ILArEMEC_Cphi*>(data)).ignore() ; } ;
135  StatusCode do_symLink ATLAS_ARGUMENT_NOT_CONST_THREAD_SAFE (const LArEMEC_HValphaComplete* data) { return detStore()->symLink(data,static_cast<const ILArEMEC_HValpha*>(data)).ignore() ; } ;
136  StatusCode do_symLink ATLAS_ARGUMENT_NOT_CONST_THREAD_SAFE (const LArEMEC_HVbetaComplete* data) { return detStore()->symLink(data,static_cast<const ILArEMEC_HVbeta*>(data)).ignore() ; } ;
137  StatusCode do_symLink ATLAS_ARGUMENT_NOT_CONST_THREAD_SAFE (const LArCableLengthComplete* data) { return detStore()->symLink(data,static_cast<const ILArCableLength*>(data)).ignore() ; } ;
138  StatusCode do_symLink ATLAS_ARGUMENT_NOT_CONST_THREAD_SAFE (const LArCableAttenuationComplete* data){ return detStore()->symLink(data,static_cast<const ILArCableAttenuation*>(data)).ignore(); } ;
139 
140 };
141 
143 
144 #endif
ILArEMEC_Cphi
Definition: ILArEMEC_Cphi.h:14
LArMphysOverMcalComplete::set
void set(const HWIdentifier &CellID, int gain, float vMphysOverMcal)
Definition: LArMphysOverMcalComplete.cxx:14
ILArEMEC_HVbeta
Definition: ILArEMEC_HVbeta.h:13
data
char data[hepevt_bytes_allocation_ATLAS]
Definition: HepEvt.cxx:11
LArEMEC_CphiComplete
This class implements the ILArEMEC_Cphi interface.
Definition: LArEMEC_CphiComplete.h:28
LArReadParamsFromFile.icc
LArEM_ID.h
LArReadParamsFromFile::set
StatusCode set(LArTdriftComplete *complete, HWIdentifier chid, int, const std::vector< float > &data)
Definition: LArReadParamsFromFile.h:82
LArTdriftComplete
This class implements the ILArTdrift interface.
Definition: LArTdriftComplete.h:24
LArReadParamsFromFile::m_useCalibLines
bool m_useCalibLines
Definition: LArReadParamsFromFile.h:59
LArReadParamsFromFile::set
StatusCode set(LArRinjComplete *complete, HWIdentifier chid, int, const std::vector< float > &data)
Definition: LArReadParamsFromFile.h:90
LArReadParamsFromFile::set
StatusCode set(LArCableAttenuationComplete *complete, HWIdentifier chid, int, const std::vector< float > &data)
Definition: LArReadParamsFromFile.h:114
LArReadParamsFromFile::ATLAS_ARGUMENT_NOT_CONST_THREAD_SAFE
StatusCode do_symLink ATLAS_ARGUMENT_NOT_CONST_THREAD_SAFE(const LArTshaperComplete *data)
Definition: LArReadParamsFromFile.h:133
ILArEMEC_HValpha
Definition: ILArEMEC_HValpha.h:13
LArDetCellParamsComplete::set
void set(const HWIdentifier &CellID, int gain, float omega0, float taur)
Definition: LArDetCellParamsComplete.cxx:12
LArReadParamsFromFile::ATLAS_ARGUMENT_NOT_CONST_THREAD_SAFE
StatusCode do_symLink ATLAS_ARGUMENT_NOT_CONST_THREAD_SAFE(const LArMphysOverMcalComplete *data)
Definition: LArReadParamsFromFile.h:131
LArReadParamsFromFile::~LArReadParamsFromFile
~LArReadParamsFromFile()
ILArDetCellParams
Definition: ILArDetCellParams.h:13
LArReadParamsFromFile::m_fcalId
const LArFCAL_ID * m_fcalId
Definition: LArReadParamsFromFile.h:53
LArReadParamsFromFile
This algorithm reads an ascii file and fill a paremeters structure into the detector store.
Definition: LArReadParamsFromFile.h:39
LArReadParamsFromFile::m_file
std::string m_file
Definition: LArReadParamsFromFile.h:58
CaloCondBlobAlgs_fillNoiseFromASCII.gain
gain
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:109
LArReadParamsFromFile::set
StatusCode set(LArCaliPulseParamsComplete *complete, HWIdentifier chid, int gain, const std::vector< float > &data)
Definition: LArReadParamsFromFile.h:70
LArHEC_ID
Helper class for LArHEC offline identifiers.
Definition: LArHEC_ID.h:85
PixelModuleFeMask_create_db.stop
int stop
Definition: PixelModuleFeMask_create_db.py:76
LArHEC_ID.h
HWIdentifier
Definition: HWIdentifier.h:13
LArReadParamsFromFile::m_emId
const LArEM_ID * m_emId
Definition: LArReadParamsFromFile.h:51
LArReadParamsFromFile::ATLAS_ARGUMENT_NOT_CONST_THREAD_SAFE
StatusCode do_symLink ATLAS_ARGUMENT_NOT_CONST_THREAD_SAFE(const LArTdriftComplete *data)
Definition: LArReadParamsFromFile.h:130
LArCableLengthComplete
This class implements the ILArCableLength interface.
Definition: LArCableLengthComplete.h:27
LArEMEC_HValphaComplete::set
void set(const HWIdentifier &CellID, float vEMEC_HValpha)
Definition: LArEMEC_HValphaComplete.cxx:24
LArReadParamsFromFile::ATLAS_ARGUMENT_NOT_CONST_THREAD_SAFE
StatusCode do_symLink ATLAS_ARGUMENT_NOT_CONST_THREAD_SAFE(const LArCaliPulseParamsComplete *data)
Definition: LArReadParamsFromFile.h:127
CaloCell_ID.h
AthCommonDataStore< AthCommonMsg< Algorithm > >::detStore
const ServiceHandle< StoreGateSvc > & detStore() const
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
Definition: AthCommonDataStore.h:95
LArEMEC_CphiComplete::set
void set(const HWIdentifier &CellID, float vEMEC_Cphi)
Definition: LArEMEC_CphiComplete.cxx:24
LArReadParamsFromFile::readFile
StatusCode readFile()
LArRinjComplete
This class implements the ILArRinj interface.
Definition: LArRinjComplete.h:26
AthAlgorithm.h
ILArTdrift
Definition: ILArTdrift.h:12
LArCableLengthComplete::set
void set(const HWIdentifier &CellID, float vCableLength)
Definition: LArCableLengthComplete.cxx:13
LArReadParamsFromFile::ATLAS_ARGUMENT_NOT_CONST_THREAD_SAFE
StatusCode do_symLink ATLAS_ARGUMENT_NOT_CONST_THREAD_SAFE(const LArRinjComplete *data)
Definition: LArReadParamsFromFile.h:132
LArReadParamsFromFile::set
StatusCode set(LArEMEC_HValphaComplete *complete, HWIdentifier chid, int, const std::vector< float > &data)
Definition: LArReadParamsFromFile.h:102
LArReadParamsFromFile::m_dataclass
DATA * m_dataclass
Definition: LArReadParamsFromFile.h:63
LArReadParamsFromFile::m_chIdType
std::string m_chIdType
Definition: LArReadParamsFromFile.h:60
ILArRinj
Definition: ILArRinj.h:12
LArReadParamsFromFile::m_groupingType
int m_groupingType
Definition: LArReadParamsFromFile.h:55
LArReadParamsFromFile::ATLAS_ARGUMENT_NOT_CONST_THREAD_SAFE
StatusCode do_symLink ATLAS_ARGUMENT_NOT_CONST_THREAD_SAFE(const LArEMEC_HVbetaComplete *data)
Definition: LArReadParamsFromFile.h:136
LArOnOffIdMapping.h
LArMphysOverMcalComplete
This class implements the ILArMphysOverMcal interface.
Definition: LArMphysOverMcalComplete.h:29
LArReadParamsFromFile::ATLAS_ARGUMENT_NOT_CONST_THREAD_SAFE
StatusCode do_symLink ATLAS_ARGUMENT_NOT_CONST_THREAD_SAFE(const LArDetCellParamsComplete *data)
Definition: LArReadParamsFromFile.h:128
LArTdriftComplete::set
void set(const HWIdentifier &CellID, float tdrift)
Definition: LArTdriftComplete.cxx:14
LArPhysCaliTdiffComplete
This class implements the ILArPhysCaliTdiff interface ` *.
Definition: LArPhysCaliTdiffComplete.h:22
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
LArReadParamsFromFile::m_customKey
std::string m_customKey
Definition: LArReadParamsFromFile.h:61
LArReadParamsFromFile::ATLAS_ARGUMENT_NOT_CONST_THREAD_SAFE
StatusCode do_symLink ATLAS_ARGUMENT_NOT_CONST_THREAD_SAFE(const LArEMEC_HValphaComplete *data)
Definition: LArReadParamsFromFile.h:135
LArEMEC_HVbetaComplete
This class implements the ILArEMEC_HVbeta interface.
Definition: LArEMEC_HVbetaComplete.h:28
LArEMEC_HVbetaComplete::set
void set(const HWIdentifier &CellID, float vEMEC_HVbeta)
Definition: LArEMEC_HVbetaComplete.cxx:24
LArReadParamsFromFile::m_useOfflineIdentifier
bool m_useOfflineIdentifier
Definition: LArReadParamsFromFile.h:59
LArEMEC_HValphaComplete
This class implements the ILArEMEC_HValpha interface.
Definition: LArEMEC_HValphaComplete.h:28
LArCableAttenuationComplete
This class implements the ILArCableAttenuation interface.
Definition: LArCableAttenuationComplete.h:27
ILArCableLength
Definition: ILArCableLength.h:13
LArCaliPulseParamsComplete
This class implements the ILArCaliPulseParams interface.
Definition: LArCaliPulseParamsComplete.h:28
AthAlgorithm
Definition: AthAlgorithm.h:47
LArReadParamsFromFile::m_cablingKey
SG::ReadCondHandleKey< LArOnOffIdMapping > m_cablingKey
Definition: LArReadParamsFromFile.h:54
ILArTshaper
Definition: ILArTshaper.h:12
LArReadParamsFromFile::ATLAS_ARGUMENT_NOT_CONST_THREAD_SAFE
StatusCode do_symLink ATLAS_ARGUMENT_NOT_CONST_THREAD_SAFE(const LArPhysCaliTdiffComplete *data)
Definition: LArReadParamsFromFile.h:129
LArReadParamsFromFile::ATLAS_ARGUMENT_NOT_CONST_THREAD_SAFE
StatusCode do_symLink ATLAS_ARGUMENT_NOT_CONST_THREAD_SAFE(const LArCableLengthComplete *data)
Definition: LArReadParamsFromFile.h:137
LArReadParamsFromFile::initialize
virtual StatusCode initialize() override
ILArMphysOverMcal
Definition: ILArMphysOverMcal.h:13
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
LArCableAttenuationComplete::set
void set(const HWIdentifier &CellID, float vCableAttenuation)
Definition: LArCableAttenuationComplete.cxx:14
LArOnlineID
Definition: LArOnlineID.h:20
LArReadParamsFromFile::set
StatusCode set(LArTshaperComplete *complete, HWIdentifier chid, int, const std::vector< float > &data)
Definition: LArReadParamsFromFile.h:94
LArReadParamsFromFile::ATLAS_ARGUMENT_NOT_CONST_THREAD_SAFE
StatusCode do_symLink ATLAS_ARGUMENT_NOT_CONST_THREAD_SAFE(const LArEMEC_CphiComplete *data)
Definition: LArReadParamsFromFile.h:134
LArCaliPulseParamsComplete::set
void set(const HWIdentifier &CellID, int gain, float tcal, float fstep)
Definition: LArCaliPulseParamsComplete.cxx:14
SG::ReadCondHandleKey< LArOnOffIdMapping >
LArFCAL_ID.h
LArReadParamsFromFile::ATLAS_NOT_THREAD_SAFE
virtual StatusCode stop ATLAS_NOT_THREAD_SAFE() override
ILArPhysCaliTdiff
Definition: ILArPhysCaliTdiff.h:13
LArTshaperComplete::set
void set(const HWIdentifier &CellID, float vTshaper)
Definition: LArTshaperComplete.cxx:13
LArReadParamsFromFile::ATLAS_ARGUMENT_NOT_CONST_THREAD_SAFE
StatusCode do_symLink ATLAS_ARGUMENT_NOT_CONST_THREAD_SAFE(const LArCableAttenuationComplete *data)
Definition: LArReadParamsFromFile.h:138
LArReadParamsFromFile::set
StatusCode set(LArPhysCaliTdiffComplete *complete, HWIdentifier chid, int gain, const std::vector< float > &data)
Definition: LArReadParamsFromFile.h:78
ILArCableAttenuation
Definition: ILArCableAttenuation.h:14
LArReadParamsFromFile::set
StatusCode set(LArDetCellParamsComplete *complete, HWIdentifier chid, int gain, const std::vector< float > &data)
Definition: LArReadParamsFromFile.h:74
LArRinjComplete::set
void set(const HWIdentifier &CellID, float vRinj)
Definition: LArRinjComplete.cxx:14
LArReadParamsFromFile::m_onlineHelper
const LArOnlineID * m_onlineHelper
Definition: LArReadParamsFromFile.h:50
LArReadParamsFromFile::set
StatusCode set(LArCableLengthComplete *complete, HWIdentifier chid, int, const std::vector< float > &data)
Definition: LArReadParamsFromFile.h:110
LArEM_ID
Helper class for LArEM offline identifiers.
Definition: LArEM_ID.h:118
LArParamsProperties.h
LArReadParamsFromFile::set
StatusCode set(LArEMEC_HVbetaComplete *complete, HWIdentifier chid, int, const std::vector< float > &data)
Definition: LArReadParamsFromFile.h:106
LArReadParamsFromFile::execute
virtual StatusCode execute() override
Definition: LArReadParamsFromFile.h:46
LArFCAL_ID
Helper class for LArFCAL offline identifiers.
Definition: LArFCAL_ID.h:60
LArPhysCaliTdiffComplete::set
void set(const HWIdentifier &CellID, int gain, float tdiff)
Definition: LArPhysCaliTdiffComplete.cxx:27
LArReadParamsFromFile::set
StatusCode set(LArEMEC_CphiComplete *complete, HWIdentifier chid, int, const std::vector< float > &data)
Definition: LArReadParamsFromFile.h:98
LArReadParamsFromFile::LArReadParamsFromFile
LArReadParamsFromFile(const std::string &name, ISvcLocator *pSvcLocator)
LArReadParamsFromFile::set
StatusCode set(LArMphysOverMcalComplete *complete, HWIdentifier chid, int gain, const std::vector< float > &data)
Definition: LArReadParamsFromFile.h:86
ILArCaliPulseParams
Definition: ILArCaliPulseParams.h:14
LArOnlineID.h
LArDetCellParamsComplete
This class implements the ILArDetCellParams interface.
Definition: LArDetCellParamsComplete.h:25
LArReadParamsFromFile::m_hecId
const LArHEC_ID * m_hecId
Definition: LArReadParamsFromFile.h:52
LArReadParamsFromFile::m_groupingName
std::string m_groupingName
Definition: LArReadParamsFromFile.h:56
LArTshaperComplete
This class implements the ILArTshaper interface.
Definition: LArTshaperComplete.h:27