ATLAS Offline Software
Loading...
Searching...
No Matches
LArCalorimeter
LArG4
LArG4Barrel
src
ILArBarrelGeometry.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
// ILArBarrelGeometry.h
6
// Prepared in 2016 based on LArVCalculator from Bill Seligman
7
8
#ifndef LARG4BARREL_ILARBARRELGEOMETRY_H
9
#define LARG4BARREL_ILARBARRELGEOMETRY_H
10
11
#include "GaudiKernel/IService.h"
12
13
#include "globals.hh"
14
15
#include "
LArG4Code/LArG4Identifier.h
"
16
17
18
// Forward declaractions:
19
class
G4Step;
20
21
namespace
LArG4
{
22
23
namespace
Barrel
{
24
25
// output of computations (everything in half barrel frame except m_zSide)
26
struct
CalcData
{
27
int
cellID
= 0;
// 0 if not valid cell
28
G4int
sampling
= 0;
// sampling number (1 to 3)
29
G4int
region
= 0;
// region number (0 or 1)
30
G4int
etaBin
= 0;
// cell number in eta
31
G4int
phiBin
= 0;
// cell number in phi
32
G4int
zSide
= 0;
// side (+-1 for +-z)
33
G4int
phiGap
= 0;
// number (0 to 1024) of closest electrode
34
G4int
nstraight
= 0;
// number of straight section (0 to 13)
35
G4int
nfold
= 0;
// number of closest fold (0 to 14)
36
G4double
distElec
= 0.;
// algebric distance to electrode
37
G4double
distAbs
= 0.;
// algebric distance to absorber
38
G4double
xl
= 0.;
// normalized lenght along electrode
39
G4double
x0
= 0.;
//
40
G4double
y0
= 0.;
// coordinates in local cell frame (down absorber with phi=0)
41
G4int
sampMap
= 0;
// sampling number not taking into account readout strips
42
G4int
etaMap
= 0;
// eta number not taking into account readout strips
43
};
44
45
}
//end of Barrel namespace
46
47
}
// end of LArG4 namespace
48
49
class
ILArBarrelGeometry
:
virtual
public
IService {
50
public
:
51
52
ILArBarrelGeometry
() {};
53
54
virtual
~ILArBarrelGeometry
() {};
55
56
DeclareInterfaceID
(
ILArBarrelGeometry
,1,0);
57
58
virtual
void
initializeForSDCreation
() = 0;
59
60
// Full identifier computation from a G4 step
61
virtual
LArG4Identifier
CalculateIdentifier
(
const
G4Step* )
const
= 0;
62
63
// Given a point compute all quantities (cell number, distance to electrode, etc...)
64
virtual
void
findCell
(
LArG4::Barrel::CalcData
& currentCellData,
const
double
&
x
,
const
double
&
y
,
const
double
&
z
,
65
const
double
&
r
,
const
double
&
eta
,
const
double
&
phi
,
const
bool
detail
)
const
= 0;
66
67
};
68
69
#endif
// LARG4BARREL_ILARBARRELGEOMETRY_H
eta
Scalar eta() const
pseudorapidity method
Definition
AmgMatrixBasePlugin.h:83
phi
Scalar phi() const
phi method
Definition
AmgMatrixBasePlugin.h:67
LArG4Identifier.h
y
#define y
x
#define x
z
#define z
ILArBarrelGeometry::CalculateIdentifier
virtual LArG4Identifier CalculateIdentifier(const G4Step *) const =0
ILArBarrelGeometry::~ILArBarrelGeometry
virtual ~ILArBarrelGeometry()
Definition
ILArBarrelGeometry.h:54
ILArBarrelGeometry::ILArBarrelGeometry
ILArBarrelGeometry()
Definition
ILArBarrelGeometry.h:52
ILArBarrelGeometry::initializeForSDCreation
virtual void initializeForSDCreation()=0
ILArBarrelGeometry::DeclareInterfaceID
DeclareInterfaceID(ILArBarrelGeometry, 1, 0)
ILArBarrelGeometry::findCell
virtual void findCell(LArG4::Barrel::CalcData ¤tCellData, const double &x, const double &y, const double &z, const double &r, const double &eta, const double &phi, const bool detail) const =0
LArG4Identifier
Definition
LArG4Identifier.h:121
r
int r
Definition
globals.cxx:22
LArG4::Barrel
Definition
ILArBarrelGeometry.h:23
LArG4
Definition
LArWheelCalculatorEnums.h:8
detail
Definition
extract_histogram_tag.cxx:14
LArG4::Barrel::CalcData
Definition
ILArBarrelGeometry.h:26
LArG4::Barrel::CalcData::xl
G4double xl
Definition
ILArBarrelGeometry.h:38
LArG4::Barrel::CalcData::etaMap
G4int etaMap
Definition
ILArBarrelGeometry.h:42
LArG4::Barrel::CalcData::region
G4int region
Definition
ILArBarrelGeometry.h:29
LArG4::Barrel::CalcData::y0
G4double y0
Definition
ILArBarrelGeometry.h:40
LArG4::Barrel::CalcData::phiGap
G4int phiGap
Definition
ILArBarrelGeometry.h:33
LArG4::Barrel::CalcData::etaBin
G4int etaBin
Definition
ILArBarrelGeometry.h:30
LArG4::Barrel::CalcData::distElec
G4double distElec
Definition
ILArBarrelGeometry.h:36
LArG4::Barrel::CalcData::x0
G4double x0
Definition
ILArBarrelGeometry.h:39
LArG4::Barrel::CalcData::nfold
G4int nfold
Definition
ILArBarrelGeometry.h:35
LArG4::Barrel::CalcData::nstraight
G4int nstraight
Definition
ILArBarrelGeometry.h:34
LArG4::Barrel::CalcData::zSide
G4int zSide
Definition
ILArBarrelGeometry.h:32
LArG4::Barrel::CalcData::distAbs
G4double distAbs
Definition
ILArBarrelGeometry.h:37
LArG4::Barrel::CalcData::sampling
G4int sampling
Definition
ILArBarrelGeometry.h:28
LArG4::Barrel::CalcData::cellID
int cellID
Definition
ILArBarrelGeometry.h:27
LArG4::Barrel::CalcData::sampMap
G4int sampMap
Definition
ILArBarrelGeometry.h:41
LArG4::Barrel::CalcData::phiBin
G4int phiBin
Definition
ILArBarrelGeometry.h:31
Generated on
for ATLAS Offline Software by
1.14.0