ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Simulation
ISF
ISF_FastCaloSim
ISF_FastCaloSimSD
src
TileFCS_StepInfoSD.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
//************************************************************
6
//
7
// Class TileFCS_StepInfoSD
8
// Sensitive detector for TileCal G4 simulations using TileGeoModel
9
//
10
// Author: Vakho Tsulaia <Vakhtang.Tsulaia@cern.ch>
11
//
12
// Major updates: July, 2013 (Sergey)
13
//
14
//************************************************************
15
16
#ifndef ISF_FASTCALOSIMSD_TILEFCS_STEPINFOSD_H
17
#define ISF_FASTCALOSIMSD_TILEFCS_STEPINFOSD_H
18
19
// Base class header
20
#include "
FCS_StepInfoSD.h
"
21
22
// Athena headers
23
#include "
CaloIdentifier/TileID.h
"
24
25
class
G4Step;
26
class
G4TouchableHistory;
27
class
ITileCalculator
;
28
29
class
TileFCS_StepInfoSD
:
public
FCS_StepInfoSD
{
30
public
:
31
TileFCS_StepInfoSD
(G4String name,
const
FCS_Param::Config
& config);
32
33
G4bool
ProcessHits
(G4Step*, G4TouchableHistory*)
override
final
;
34
35
// Don't leave copy constructors or assignment operators around
36
TileFCS_StepInfoSD
(
const
TileFCS_StepInfoSD
&) =
delete
;
37
TileFCS_StepInfoSD
&
operator=
(
const
TileFCS_StepInfoSD
&) =
delete
;
38
39
private
:
41
bool
C10_connected
(
int
module)
const
;
43
bool
cellReadOutByOnePMT
(
const
Identifier
&
id
)
const
;
44
45
ITileCalculator
*
m_calculator
;
46
};
47
48
inline
bool
TileFCS_StepInfoSD::C10_connected
(
int
module)
const
{
49
const
bool
C
=
true
;
50
const
bool
NC =
false
;
51
const
bool
cell_present[64] = {
52
// counting from 1 in comments
53
C
,
C
,
C
,
C
,
C
,
C
,
C
,
C
,
// 1-8
54
C
,
C
,
C
,
C
,
C
,
C
,
C
,
C
,
// 9-16
55
C
,
C
,
C
,
C
,
C
,
C
,
C
,
C
,
// 17-24
56
C
,
C
,
C
,
C
,
C
,
C
,
C
,
C
,
// 25-32
57
C
,
C
,
C
,
C
,
C
,
C
, NC, NC,
// 33-40 39-40 do not exist
58
NC, NC,
C
,
C
,
C
,
C
,
C
,
C
,
// 41-48 41-42 do not exist
59
C
,
C
,
C
,
C
,
C
,
C
, NC, NC,
// 49-56 55-56 do not exist
60
NC, NC,
C
,
C
,
C
,
C
,
C
,
C
// 57-64 57-58 do not exist
61
};
62
return
cell_present[module];
63
}
64
65
inline
bool
TileFCS_StepInfoSD::cellReadOutByOnePMT
(
66
const
Identifier
&
id
)
const
{
67
return
m_tileID
->is_tile_gapscin(
id
) ||
// gap/crack cells
68
((
m_tileID
->section(
id
) ==
TileID::GAPDET
&&
69
m_tileID
->sample(
id
) ==
TileID::SAMP_C
&&
70
!(this->C10_connected(
m_tileID
->module(
id
)))));
// Special C10 cells
71
}
72
73
#endif
// ISF_FASTCALOSIMSD_TILEFCS_STEPINFOSD_H
FCS_StepInfoSD.h
TileID.h
FCS_StepInfoSD::FCS_StepInfoSD
FCS_StepInfoSD(G4String a_name, const FCS_Param::Config &config)
Constructor.
Definition
FCS_StepInfoSD.cxx:21
FCS_StepInfoSD::m_tileID
const TileID * m_tileID
Definition
FCS_StepInfoSD.h:105
ITileCalculator
Definition
ITileCalculator.h:67
TileFCS_StepInfoSD::C10_connected
bool C10_connected(int module) const
A copy of the method in TileCablingService.cxx.
Definition
TileFCS_StepInfoSD.h:48
TileFCS_StepInfoSD::TileFCS_StepInfoSD
TileFCS_StepInfoSD(const TileFCS_StepInfoSD &)=delete
TileFCS_StepInfoSD::operator=
TileFCS_StepInfoSD & operator=(const TileFCS_StepInfoSD &)=delete
TileFCS_StepInfoSD::m_calculator
ITileCalculator * m_calculator
Definition
TileFCS_StepInfoSD.h:45
TileFCS_StepInfoSD::cellReadOutByOnePMT
bool cellReadOutByOnePMT(const Identifier &id) const
Some Tile Cells are only read out by one PMT rather than two.
Definition
TileFCS_StepInfoSD.h:65
TileFCS_StepInfoSD::ProcessHits
G4bool ProcessHits(G4Step *, G4TouchableHistory *) override final
Main processing method.
Definition
TileFCS_StepInfoSD.cxx:34
TileFCS_StepInfoSD::TileFCS_StepInfoSD
TileFCS_StepInfoSD(G4String name, const FCS_Param::Config &config)
Geant4 headers.
Definition
TileFCS_StepInfoSD.cxx:29
Tile_Base_ID::GAPDET
@ GAPDET
Definition
Tile_Base_ID.h:47
Tile_Base_ID::SAMP_C
@ SAMP_C
Definition
Tile_Base_ID.h:53
C
struct color C
Identifier
Definition
IdentifierFieldParser.cxx:14
FCS_Param::Config
Definition
FCS_StepInfoSD.h:37
Generated on
for ATLAS Offline Software by
1.17.0