ATLAS Offline Software
InnerDetector
InDetDetDescr
InDetServMatGeoModel
src
CcawUtils.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef CcawUtils_H
6
#define CcawUtils_H
7
8
#include <cmath>
9
10
namespace
ccaw
{
11
12
inline
double
sqr
(
double
a
) {
return
a
*
a
;}
13
14
inline
double
area
(
double
R) {
return
M_PI
*R*R;}
15
16
inline
double
gaugeDiam
(
int
gauge) {
return
0.127e-3*
pow
(92,
double
(36-gauge)/39.0);}
17
18
inline
double
gaugeSurface
(
int
gauge) {
return
M_PI
*
sqr
(
gaugeDiam
(gauge))/4.;}
19
21
inline
double
ccawDensity
() {
22
double
dens_cu = 8.94e3;
// kg/m3
23
double
dens_al = 2.70e3;
// kg/m3
24
return
0.1*dens_cu + 0.9*dens_al;
25
}
26
28
inline
double
conductorWeight
(
int
gauge) {
return
gaugeSurface
(gauge) *
ccawDensity
();}
29
33
inline
double
insulatorWeight
(
int
gauge,
double
thick=90.
e
-6,
double
dens=1.27
e3
) {
34
double
radius
=
gaugeDiam
(gauge) / 2.;
35
return
(
area
(
radius
+thick) -
area
(
radius
)) * dens;
36
}
37
38
inline
double
ccawResistivity
(
int
gauge) {
39
double
res_cu = 16.78e-9;
// Ohm*m
40
double
res_al = 28.2e-9;
// Ohm*m
41
42
double
s
=
gaugeSurface
( gauge);
43
double
R_al = res_al/(
s
*0.9);
44
double
R_cu = res_cu/(
s
*0.1);
45
46
double
invR = 1/R_al + 1/R_cu;
47
return
1./invR;
48
}
49
50
inline
int
closestResistivityCcawGauge
(
double
res
)
51
{
52
// start arbitrarily with gauge 22
53
int
gauge = 22;
54
double
oldres =
ccawResistivity
(gauge);
55
double
newres;
56
if
(
res
> oldres) {
57
do
{
58
newres =
ccawResistivity
(++gauge);
59
if
(newres >
res
)
break
;
60
oldres = newres;
61
}
while
(gauge < 37);
62
if
( fabs( 1-newres/
res
) < fabs( 1-
res
/oldres))
return
gauge;
63
else
return
--gauge;
// old gauge was closer
64
}
65
else
{
66
do
{
67
newres =
ccawResistivity
(--gauge);
68
if
(newres <
res
)
break
;
69
oldres = newres;
70
}
while
(gauge > 14);
71
if
( fabs( 1-newres/
res
) < fabs( 1-
res
/oldres))
return
gauge;
72
else
return
++gauge;
// old gauge was closer
73
}
74
}
75
76
}
77
#endif
python.SystemOfUnits.s
int s
Definition:
SystemOfUnits.py:131
ccaw::gaugeSurface
double gaugeSurface(int gauge)
Definition:
CcawUtils.h:18
ccaw::gaugeDiam
double gaugeDiam(int gauge)
Definition:
CcawUtils.h:16
ccaw::ccawDensity
double ccawDensity()
Units: kg/m3.
Definition:
CcawUtils.h:21
conifer::pow
constexpr int pow(int x)
Definition:
conifer.h:20
M_PI
#define M_PI
Definition:
ActiveFraction.h:11
ccaw::area
double area(double R)
Definition:
CcawUtils.h:14
ccaw
Definition:
CcawUtils.h:10
CheckAppliedSFs.e3
e3
Definition:
CheckAppliedSFs.py:264
res
std::pair< std::vector< unsigned int >, bool > res
Definition:
JetGroupProductTest.cxx:14
ccaw::closestResistivityCcawGauge
int closestResistivityCcawGauge(double res)
Definition:
CcawUtils.h:50
ParticleGun_SamplingFraction.radius
radius
Definition:
ParticleGun_SamplingFraction.py:96
ccaw::insulatorWeight
double insulatorWeight(int gauge, double thick=90.e-6, double dens=1.27e3)
Weight per unit of length for the insulator.
Definition:
CcawUtils.h:33
DiTauMassTools::MaxHistStrategyV2::e
e
Definition:
PhysicsAnalysis/TauID/DiTauMassTools/DiTauMassTools/HelperFunctions.h:26
a
TList * a
Definition:
liststreamerinfos.cxx:10
ccaw::conductorWeight
double conductorWeight(int gauge)
Weight per unit of length for the CCAW conductor, in kg/meter.
Definition:
CcawUtils.h:28
ccaw::sqr
double sqr(double a)
Definition:
CcawUtils.h:12
ccaw::ccawResistivity
double ccawResistivity(int gauge)
Definition:
CcawUtils.h:38
Generated on Sun Jun 30 2024 21:12:18 for ATLAS Offline Software by
1.8.18