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