ATLAS Offline Software
LUCID_DigiSettings.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef LUCID_DIGISETTINGS_H
6 #define LUCID_DIGISETTINGS_H
7 
8 
9 #include <map>
10 #include <string>
11 
12 class IMessageSvc;
13 namespace Gaudi{
14 class Algorithm;
15 }
16 
18 
19  public:
20 
22 
23  void Initialize(IMessageSvc* msgSvc);
24 
25  void SetDigiParDouble(const std::string&, double);
26  void SetDigiParInt (const std::string&, int);
27  double GetDigiParDouble(const std::string&);
28  int GetDigiParInt (const std::string&);
29 
30  void OverwriteDigiParProperties(Gaudi::Algorithm*);
32 
33  void Print() const;
34 
35  private:
36 
37  void SetDefaultValues();
38 
39  IMessageSvc* m_msgSvc;
40 
41  int m_numTubes{};
46 
49 
50  void DefNewParameterDouble(std::string, const std::string&, double*, double, double);
51  void DefNewParameterInt (std::string, const std::string&, int*, int, int);
52 
53  struct parDouble {
54 
55  std::string parDescription;
56  double* par;
57  double low;
58  double high;
59  double overwriteVal;
60  };
61 
62  struct parInt {
63 
64  std::string parDescription;
65  int* par;
66  int low;
67  int high;
69  };
70 
71  std::map <std::string, parDouble> m_doubleMap;
72  std::map <std::string, parInt> m_intMap;
73 };
74 
75 #endif
LUCID_DigiSettings::OverwriteDigiParValues
void OverwriteDigiParValues()
Definition: LUCID_DigiSettings.cxx:57
LUCID_DigiSettings::DefNewParameterInt
void DefNewParameterInt(std::string, const std::string &, int *, int, int)
Definition: LUCID_DigiSettings.cxx:200
LUCID_DigiSettings::Initialize
void Initialize(IMessageSvc *msgSvc)
Definition: LUCID_DigiSettings.cxx:20
LUCID_DigiSettings::GetDigiParInt
int GetDigiParInt(const std::string &)
Definition: LUCID_DigiSettings.cxx:155
LUCID_DigiSettings::m_tdcPmtNoiseFactor
double m_tdcPmtNoiseFactor
Definition: LUCID_DigiSettings.h:44
LUCID_DigiSettings::parInt::low
int low
Definition: LUCID_DigiSettings.h:66
LUCID_DigiSettings::SetDefaultValues
void SetDefaultValues()
Definition: LUCID_DigiSettings.cxx:31
LUCID_DigiSettings::DefNewParameterDouble
void DefNewParameterDouble(std::string, const std::string &, double *, double, double)
Definition: LUCID_DigiSettings.cxx:167
LUCID_DigiSettings::parDouble::par
double * par
Definition: LUCID_DigiSettings.h:56
LUCID_DigiSettings::parDouble::high
double high
Definition: LUCID_DigiSettings.h:58
LUCID_DigiSettings::m_msgSvc
IMessageSvc * m_msgSvc
Definition: LUCID_DigiSettings.h:39
LUCID_DigiSettings::m_parValueNotSetByUserDouble
double m_parValueNotSetByUserDouble
Definition: LUCID_DigiSettings.h:47
LUCID_DigiSettings::LUCID_DigiSettings
LUCID_DigiSettings()
Definition: LUCID_DigiSettings.cxx:12
LUCID_DigiSettings::parDouble::overwriteVal
double overwriteVal
Definition: LUCID_DigiSettings.h:59
LUCID_DigiSettings::SetDigiParInt
void SetDigiParInt(const std::string &, int)
Definition: LUCID_DigiSettings.cxx:131
LUCID_DigiSettings::m_parValueNotSetByUserInt
int m_parValueNotSetByUserInt
Definition: LUCID_DigiSettings.h:48
LUCID_DigiSettings::parInt::parDescription
std::string parDescription
Definition: LUCID_DigiSettings.h:64
LUCID_DigiSettings::parDouble
Definition: LUCID_DigiSettings.h:53
LUCID_DigiSettings::m_qdcFedNoiseFactor
double m_qdcFedNoiseFactor
Definition: LUCID_DigiSettings.h:43
StdJOSetup.msgSvc
msgSvc
Provide convenience handles for various services.
Definition: StdJOSetup.py:36
LUCID_DigiSettings::m_numTubes
int m_numTubes
Definition: LUCID_DigiSettings.h:41
LUCID_DigiSettings::parInt::overwriteVal
int overwriteVal
Definition: LUCID_DigiSettings.h:68
LUCID_DigiSettings::Print
void Print() const
Definition: LUCID_DigiSettings.cxx:99
LUCID_DigiSettings::m_doubleMap
std::map< std::string, parDouble > m_doubleMap
Definition: LUCID_DigiSettings.h:71
LUCID_DigiSettings::SetDigiParDouble
void SetDigiParDouble(const std::string &, double)
Definition: LUCID_DigiSettings.cxx:119
LUCID_DigiSettings::parInt
Definition: LUCID_DigiSettings.h:62
LUCID_DigiSettings
Definition: LUCID_DigiSettings.h:17
LUCID_DigiSettings::parInt::par
int * par
Definition: LUCID_DigiSettings.h:65
LUCID_DigiSettings::parDouble::parDescription
std::string parDescription
Definition: LUCID_DigiSettings.h:55
LUCID_DigiSettings::m_tdcFedNoiseFactor
double m_tdcFedNoiseFactor
Definition: LUCID_DigiSettings.h:45
LUCID_DigiSettings::m_qdcChannelsPerPE
int m_qdcChannelsPerPE
Definition: LUCID_DigiSettings.h:42
Gaudi
=============================================================================
Definition: CaloGPUClusterAndCellDataMonitorOptions.h:273
LUCID_DigiSettings::parDouble::low
double low
Definition: LUCID_DigiSettings.h:57
LUCID_DigiSettings::parInt::high
int high
Definition: LUCID_DigiSettings.h:67
LUCID_DigiSettings::GetDigiParDouble
double GetDigiParDouble(const std::string &)
Definition: LUCID_DigiSettings.cxx:143
LUCID_DigiSettings::OverwriteDigiParProperties
void OverwriteDigiParProperties(Gaudi::Algorithm *)
Definition: LUCID_DigiSettings.cxx:48
LUCID_DigiSettings::m_intMap
std::map< std::string, parInt > m_intMap
Definition: LUCID_DigiSettings.h:72