ATLAS Offline Software
Loading...
Searching...
No Matches
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
24
25class G4Step;
26class G4TouchableHistory;
27class ITileCalculator;
28
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
38
39 private:
41 bool C10_connected(int module) const;
43 bool cellReadOutByOnePMT(const Identifier& id) const;
44
46};
47
48inline 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 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(G4String a_name, const FCS_Param::Config &config)
Constructor.
const TileID * m_tileID
bool C10_connected(int module) const
A copy of the method in TileCablingService.cxx.
TileFCS_StepInfoSD(const TileFCS_StepInfoSD &)=delete
TileFCS_StepInfoSD & operator=(const TileFCS_StepInfoSD &)=delete
ITileCalculator * m_calculator
bool cellReadOutByOnePMT(const Identifier &id) const
Some Tile Cells are only read out by one PMT rather than two.
G4bool ProcessHits(G4Step *, G4TouchableHistory *) override final
Main processing method.
TileFCS_StepInfoSD(G4String name, const FCS_Param::Config &config)
Geant4 headers.
struct color C