ATLAS Offline Software
Loading...
Searching...
No Matches
TileGeoG4DMLookup.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
3*/
4
5//************************************************************
6//
7// Look-up classes for Tile Calibration
8//
9// Author: Gia Khoriauli <Gia.Khoriauli@cern.ch>
10// May, 2005
11//
12//************************************************************
13
14#ifndef TILEGEOG4CALIB_TILEGEOG4DMLOOKUP_H
15#define TILEGEOG4CALIB_TILEGEOG4DMLOOKUP_H
16
17#include <vector>
18
19class TileGeoG4Cell;
20class TileGeoG4Section;
21
23public:
24
26 int sample;
28
30};
31
33public:
34
36 int tower;
37 int sample;
39 double eta;
40 double dEta;
41 double xBound;
42 double zBound;
43
44 std::vector<int> m_nPlateCellHit;
45 std::vector<int> m_nPlateCellHit_negative;
46
48};
49
51public:
52
54 int tower;
55 int sample;
56 double eta;
57 double dEta;
58 double xBound;
59
60 std::vector<int> m_nGirderCellHit;
61 std::vector<int> m_nGirderCellHit_negative;
62
64};
65
67 std::vector<TileGeoG4CalibCell*> cells;
68 std::vector<TileGeoG4PlateCell*> plateCells;
69};
70
72public:
73
74 TileGeoG4CalibSection(const int verboseLevel);
76
83 double sample_ZBound[4];
84
85 std::vector<TileGeoG4CalibSample*> samples;
86 std::vector<TileGeoG4GirderCell*> girderCells;
87
88 //Builds correspondence between absorber materials and cells. fills m_DMToCell in
89 void DMToCell(bool gap_crack, TileGeoG4Section* tile_section);
90
91 //Returns the pointer to the cell corresponding to nPeriod-th period and sample
92 TileGeoG4Cell* GetCell(int nPeriod, int nSample);
93
94 //Returns the pointer to the Plate 'cell' corresponding to the Hits x, z - coordinates
95 //and the kind of Plate, Front or End.
96 TileGeoG4PlateCell* GetTilePlateCell(double xHit, double zHit, int plate);
97
98 //Returns the pointer to the Girder 'cell' corresponding to the Hits x - coordinate
100
101 //Initializes all arayes of all cells of all Tile sections
102 void AddModuleToCell(bool negative);
103
104private:
105
106 //for each unit of Absorber Material ("Period") in Tile modules
107 //contains pointer to the corresponding cell
108 std::vector<TileGeoG4Cell*> m_DMToCell;
110
111};
112
113#endif // TILEGEOG4CALIB_TILEGEOG4DMLOOKUP_H
114
TileGeoG4GirderCell * GetTileGirderCell(double xHit)
std::vector< TileGeoG4Cell * > m_DMToCell
void AddModuleToCell(bool negative)
TileGeoG4CalibSection(const int verboseLevel)
void DMToCell(bool gap_crack, TileGeoG4Section *tile_section)
std::vector< TileGeoG4GirderCell * > girderCells
TileGeoG4Cell * GetCell(int nPeriod, int nSample)
TileGeoG4PlateCell * GetTilePlateCell(double xHit, double zHit, int plate)
std::vector< TileGeoG4CalibSample * > samples
std::vector< int > m_nGirderCellHit_negative
std::vector< int > m_nGirderCellHit
std::vector< int > m_nPlateCellHit_negative
std::vector< int > m_nPlateCellHit
std::vector< TileGeoG4CalibCell * > cells
std::vector< TileGeoG4PlateCell * > plateCells