ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
LArCalorimeter
LArG4
LArG4Barrel
src
LArBarrelPresamplerGeometry.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
// LArBarrelPresamplerGeometry.hh
6
7
#ifndef LARG4BARREL_LARBARRELPRESAMPLERGEOMETRY_H
8
#define LARG4BARREL_LARBARRELPRESAMPLERGEOMETRY_H
9
10
#include "
ILArBarrelPresamplerGeometry.h
"
11
#include "
AthenaBaseComps/AthService.h
"
12
13
#include "
LArG4Code/LArG4Identifier.h
"
14
15
#include "
AthenaKernel/Units.h
"
16
#include "globals.hh"
17
18
19
// Forward declarations.
20
class
LArG4Identifier
;
21
class
G4Step;
22
23
namespace
LArG4
{
24
25
namespace
BarrelPresampler
{
26
27
class
Geometry
:
public
extends<AthService, ILArBarrelPresamplerGeometry> {
28
29
public
:
30
31
//constructor
32
Geometry
(
const
std::string& name, ISvcLocator * pSvcLocator);
33
34
virtual
~Geometry
() =
default
;
35
36
virtual
StatusCode
initialize
() override final;
37
38
virtual
LArG4Identifier
CalculateIdentifier
(
const
G4Step* )
const
override final;
39
virtual
bool
findCell
(
CalcData
& currentCellData, G4double xloc,G4double yloc,G4double zloc)
const
override final;
40
41
private
:
42
LArG4Identifier
CalculatePSActiveIdentifier
(
const
G4Step* ,
const
G4int indPS )
const
;
43
LArG4Identifier
CalculatePS_DMIdentifier
(
const
G4Step* ,
const
G4int indPS )
const
;
44
45
inline G4int
determineZSide
(
const
double
zCoord)
const
{
46
// in TB case, only 1 side,
47
// in Atlas case, use overall z to decide side
48
if
(
m_testbeam
) {
return
1; }
49
if
(zCoord > 0.) {
return
1; }
50
return
-1;
51
}
52
53
// detector name, for translated geometry
54
Gaudi::Property<std::string>
m_detectorName
{
this
,
"DetectorName"
,
"LArMgr"
};
55
// is this a test beam simulation job
56
Gaudi::Property<bool>
m_testbeam
{
this
,
"TestBeam"
,
false
};
57
58
59
#include "
PresParameterDef.h
"
60
61
// end z of the various modules
62
G4double
m_end_module
[8]{};
63
G4double
m_zminPS
{3.00*Athena::Units::mm};
// FIXME this should come from the database;
64
G4double
m_zpres
{1549.*Athena::Units::mm};
// position of mother volume inside nominal Atlas frame
65
G4double
m_cat_th
{};
66
// z of first cathode in each module
67
G4double
m_first_cathod
[8]{};
68
// tilt of electrodes
69
G4double
m_tilt
[8]{};
70
// number of gaps per cell
71
G4int
m_ngap_cell
[8]{};
72
// pitch in z of gaps
73
G4double
m_pitch
[8]{};
74
// number of cells per modules
75
G4int
m_ncell_module
[8]{};
76
// total LAr thickness
77
G4double
m_halfThickLAr
{0.5*13.*Athena::Units::mm};
// LAr total gap
78
} ;
79
80
}
//end of Barrel namespace
81
82
}
// end of LArG4 namespace
83
84
#endif
// LARG4BARREL_LARBARRELPRESAMPLERGEOMETRY_H
AthService.h
ILArBarrelPresamplerGeometry.h
LArG4Identifier.h
PresParameterDef.h
Units.h
Wrapper to avoid constant divisions when using units.
LArG4Identifier
Definition
LArG4Identifier.h:121
LArG4::BarrelPresampler::Geometry::initialize
virtual StatusCode initialize() override final
initialize geometry parameters this should at some stage be taken from a database....
Definition
LArBarrelPresamplerGeometry.cxx:57
LArG4::BarrelPresampler::Geometry::m_halfThickLAr
G4double m_halfThickLAr
Definition
LArBarrelPresamplerGeometry.h:77
LArG4::BarrelPresampler::Geometry::m_ncell_module
G4int m_ncell_module[8]
Definition
LArBarrelPresamplerGeometry.h:75
LArG4::BarrelPresampler::Geometry::CalculateIdentifier
virtual LArG4Identifier CalculateIdentifier(const G4Step *) const override final
The following method computes the identifiers in the Presampler volume:
Definition
LArBarrelPresamplerGeometry.cxx:111
LArG4::BarrelPresampler::Geometry::m_end_module
G4double m_end_module[8]
Definition
LArBarrelPresamplerGeometry.h:62
LArG4::BarrelPresampler::Geometry::m_tilt
G4double m_tilt[8]
Definition
LArBarrelPresamplerGeometry.h:69
LArG4::BarrelPresampler::Geometry::~Geometry
virtual ~Geometry()=default
LArG4::BarrelPresampler::Geometry::m_first_cathod
G4double m_first_cathod[8]
Definition
LArBarrelPresamplerGeometry.h:67
LArG4::BarrelPresampler::Geometry::determineZSide
G4int determineZSide(const double zCoord) const
Definition
LArBarrelPresamplerGeometry.h:45
LArG4::BarrelPresampler::Geometry::CalculatePS_DMIdentifier
LArG4Identifier CalculatePS_DMIdentifier(const G4Step *, const G4int indPS) const
Definition
LArBarrelPresamplerGeometry.cxx:196
LArG4::BarrelPresampler::Geometry::m_zpres
G4double m_zpres
Definition
LArBarrelPresamplerGeometry.h:64
LArG4::BarrelPresampler::Geometry::CalculatePSActiveIdentifier
LArG4Identifier CalculatePSActiveIdentifier(const G4Step *, const G4int indPS) const
calculate identifier from a G4 step in the PS active region This function should always return a vali...
Definition
LArBarrelPresamplerGeometry.cxx:145
LArG4::BarrelPresampler::Geometry::Geometry
Geometry(const std::string &name, ISvcLocator *pSvcLocator)
Definition
LArBarrelPresamplerGeometry.cxx:49
LArG4::BarrelPresampler::Geometry::m_cat_th
G4double m_cat_th
Definition
LArBarrelPresamplerGeometry.h:65
LArG4::BarrelPresampler::Geometry::m_ngap_cell
G4int m_ngap_cell[8]
Definition
LArBarrelPresamplerGeometry.h:71
LArG4::BarrelPresampler::Geometry::m_zminPS
G4double m_zminPS
Definition
LArBarrelPresamplerGeometry.h:63
LArG4::BarrelPresampler::Geometry::findCell
virtual bool findCell(CalcData ¤tCellData, G4double xloc, G4double yloc, G4double zloc) const override final
=============================================================================== bool findCell(xloc,...
Definition
LArBarrelPresamplerGeometry.cxx:333
LArG4::BarrelPresampler::Geometry::m_testbeam
Gaudi::Property< bool > m_testbeam
Definition
LArBarrelPresamplerGeometry.h:56
LArG4::BarrelPresampler::Geometry::m_pitch
G4double m_pitch[8]
Definition
LArBarrelPresamplerGeometry.h:73
LArG4::BarrelPresampler::Geometry::m_detectorName
Gaudi::Property< std::string > m_detectorName
Definition
LArBarrelPresamplerGeometry.h:54
const
LArG4::BarrelPresampler
Definition
ILArBarrelPresamplerGeometry.h:23
LArG4
Definition
LArWheelCalculatorEnums.h:8
LArG4::BarrelPresampler::CalcData
Definition
ILArBarrelPresamplerGeometry.h:26
private
#define private
Definition
testRead.cxx:27
Generated on
for ATLAS Offline Software by
1.17.0