ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
InnerDetector
InDetDetDescr
SCT_GeoModel
src
SCT_GeneralParameters.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#include "
SCT_GeneralParameters.h
"
6
#include "
SCT_DataBase.h
"
7
#include "
RDBAccessSvc/IRDBRecord.h
"
8
#include "
RDBAccessSvc/IRDBRecordset.h
"
9
#include "GaudiKernel/SystemOfUnits.h"
10
#include "GeoModelKernel/GeoDefinitions.h"
11
#include "
InDetGeoModelUtils/TopLevelPlacements.h
"
12
13
const
double
SCT_SAFETY
= 0.01 * Gaudi::Units::mm;
// Used in some places to make envelopes slightly larger to ensure
14
// no overlaps due to rounding errors.
15
16
17
SCT_GeneralParameters::SCT_GeneralParameters
(
SCT_DataBase
* rdb)
18
{
19
m_rdb
= rdb;
20
m_placements
= std::make_unique<TopLevelPlacements>(
m_rdb
->topLevelTable());
21
}
22
23
24
SCT_GeneralParameters::~SCT_GeneralParameters
()
25
{
26
}
27
28
29
const
GeoTrf::Transform3D &
30
SCT_GeneralParameters::partTransform
(
const
std::string & partName)
const
31
{
32
return
m_placements
->transform(partName);
33
}
34
35
36
bool
37
SCT_GeneralParameters::partPresent
(
const
std::string & partName)
const
38
{
39
return
m_placements
->present(partName);
40
}
41
42
43
44
//
45
// General
46
//
47
double
48
SCT_GeneralParameters::safety
()
const
49
{
50
return
SCT_SAFETY
;
51
}
52
53
// Default Conditions. Values should be come form conditions data base. These values provide
54
// default vlaues if nothing from the conditions database is provided.
55
56
57
double
58
SCT_GeneralParameters::temperature
()
const
59
{
60
if
(
m_rdb
->conditionsTable()->size() == 0) {
61
return
266.15 * Gaudi::Units::kelvin;
// -7 C
62
}
63
return
(
m_rdb
->conditions()->getDouble(
"TEMPERATURE"
) + 273.15) * Gaudi::Units::kelvin;
64
}
65
66
67
double
68
SCT_GeneralParameters::biasVoltage
()
const
69
{
70
if
(
m_rdb
->conditionsTable()->size() == 0) {
71
return
100 * Gaudi::Units::volt;
72
}
73
return
m_rdb
->conditions()->getDouble(
"BIASVOLT"
) * Gaudi::Units::volt;
74
}
75
76
double
77
SCT_GeneralParameters::depletionVoltage
()
const
78
{
79
if
(
m_rdb
->conditionsTable()->size() == 0) {
80
return
20 * Gaudi::Units::volt;
81
}
82
return
m_rdb
->conditions()->getDouble(
"DEPLETIONVOLT"
) * Gaudi::Units::volt;
83
}
84
85
86
87
IRDBRecord.h
Definition of the abstract IRDBRecord interface.
IRDBRecordset.h
Definition of the abstract IRDBRecordset interface.
SCT_DataBase.h
SCT_SAFETY
const double SCT_SAFETY
Definition
SCT_GeneralParameters.cxx:13
SCT_GeneralParameters.h
TopLevelPlacements.h
SCT_DataBase
Definition
SCT_DataBase.h:17
SCT_GeneralParameters::SCT_GeneralParameters
SCT_GeneralParameters(SCT_DataBase *rdb)
Definition
SCT_GeneralParameters.cxx:17
SCT_GeneralParameters::biasVoltage
double biasVoltage() const
Definition
SCT_GeneralParameters.cxx:68
SCT_GeneralParameters::depletionVoltage
double depletionVoltage() const
Definition
SCT_GeneralParameters.cxx:77
SCT_GeneralParameters::m_placements
std::unique_ptr< TopLevelPlacements > m_placements
Definition
SCT_GeneralParameters.h:40
SCT_GeneralParameters::temperature
double temperature() const
Definition
SCT_GeneralParameters.cxx:58
SCT_GeneralParameters::partTransform
const GeoTrf::Transform3D & partTransform(const std::string &partName) const
Definition
SCT_GeneralParameters.cxx:30
SCT_GeneralParameters::~SCT_GeneralParameters
~SCT_GeneralParameters()
Definition
SCT_GeneralParameters.cxx:24
SCT_GeneralParameters::safety
double safety() const
Definition
SCT_GeneralParameters.cxx:48
SCT_GeneralParameters::m_rdb
SCT_DataBase * m_rdb
Definition
SCT_GeneralParameters.h:39
SCT_GeneralParameters::partPresent
bool partPresent(const std::string &partName) const
Definition
SCT_GeneralParameters.cxx:37
Generated on
for ATLAS Offline Software by
1.17.0