ATLAS Offline Software
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 
30 public:
32 
33  G4bool ProcessHits(G4Step*, G4TouchableHistory*) override final;
34 
35  // Don't leave copy constructors or assignment operators around
38 
39 private:
41  bool C10_connected(int module) const;
43  bool cellReadOutByOnePMT(const Identifier& id) const;
44 
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 
66  return m_tileID->is_tile_gapscin(id) || // gap/crack cells
67  ((m_tileID->section(id) == TileID::GAPDET && m_tileID->sample(id) == TileID::SAMP_C && !(this->C10_connected(m_tileID->module(id))) )); //Special C10 cells
68 
69 }
70 
71 #endif // ISF_FASTCALOSIMSD_TILEFCS_STEPINFOSD_H
72 
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
FCS_StepInfoSD.h
TileFCS_StepInfoSD
Definition: TileFCS_StepInfoSD.h:29
DMTest::C
C_v1 C
Definition: C.h:26
ITileCalculator
Definition: ITileCalculator.h:67
Tile_Base_ID::sample
int sample(const Identifier &id) const
Definition: Tile_Base_ID.cxx:171
TRT_PAI_gasdata::NC
const int NC
Number of levels for Carbon.
Definition: TRT_PAI_gasdata.h:237
TileFCS_StepInfoSD::ProcessHits
G4bool ProcessHits(G4Step *, G4TouchableHistory *) override final
Main processing method.
Definition: TileFCS_StepInfoSD.cxx:35
Tile_Base_ID::GAPDET
@ GAPDET
Definition: Tile_Base_ID.h:48
config
Definition: PhysicsAnalysis/AnalysisCommon/AssociationUtils/python/config.py:1
TileID.h
Tile_Base_ID::SAMP_C
@ SAMP_C
Definition: Tile_Base_ID.h:54
python.PyAthena.module
module
Definition: PyAthena.py:131
TileFCS_StepInfoSD::TileFCS_StepInfoSD
TileFCS_StepInfoSD(const TileFCS_StepInfoSD &)=delete
Tile_Base_ID::is_tile_gapscin
bool is_tile_gapscin(const Identifier &id) const
Definition: Tile_Base_ID.cxx:268
Tile_Base_ID::module
int module(const Identifier &id) const
Definition: Tile_Base_ID.cxx:159
FCS_StepInfoSD::m_tileID
const TileID * m_tileID
Definition: FCS_StepInfoSD.h:127
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
FCS_StepInfoSD
Common sensitive detector class for LAr systems.
Definition: FCS_StepInfoSD.h:93
TileFCS_StepInfoSD::m_calculator
ITileCalculator * m_calculator
Definition: TileFCS_StepInfoSD.h:45
TileFCS_StepInfoSD::operator=
TileFCS_StepInfoSD & operator=(const TileFCS_StepInfoSD &)=delete
Tile_Base_ID::section
int section(const Identifier &id) const
Definition: Tile_Base_ID.cxx:147
TileFCS_StepInfoSD::C10_connected
bool C10_connected(int module) const
A copy of the method in TileCablingService.cxx.
Definition: TileFCS_StepInfoSD.h:48
FCS_Param::Config
Definition: FCS_StepInfoSD.h:42
TileFCS_StepInfoSD::TileFCS_StepInfoSD
TileFCS_StepInfoSD(G4String name, const FCS_Param::Config &config)
Geant4 headers.
Definition: TileFCS_StepInfoSD.cxx:29
Identifier
Definition: IdentifierFieldParser.cxx:14