ATLAS Offline Software
Loading...
Searching...
No Matches
TRTParameterInterface.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef TRT_GEOMODEL_TRTPARAMETERINTERFACE_H
6#define TRT_GEOMODEL_TRTPARAMETERINTERFACE_H
7
9#include "GeoModelKernel/GeoDefinitions.h"
10#include <string>
11
12namespace InDetDD {
14}
15
17
18protected:
19 // This constructor should be called from the constructors of derived classes.
21
22 // Derived classes should implement this using calls to NOVA, Oracle or plain hardcoding, whatever they like.
23 virtual void SetValues() = 0;
24 // + call it in their constructor.
25
26public:
27
28 void ShowValues();//fixme add dig object
29 virtual ~TRTParameterInterface() = default;
30
32 // Top Level Placements //
34 virtual const GeoTrf::Transform3D & partTransform(const std::string & partName) const = 0;
35 virtual bool partPresent(const std::string & partName) const = 0;
36
38 // Version Information //
40 std::string versionTag{};
41
43 // Distorted Material //
46
48 // Special Flags //
50 std::string versionName{};
51 std::string layout{};
52 std::string versionDescription{};
56
57 unsigned int digversion{};
58 std::string digversionname{};
59
61 // Array Boundaries //
63
64 unsigned int nBarrelModules{};
65 unsigned int nBarrelModulesUsed{};
66 unsigned int nBarrelPhi{};
67
68 // const unsigned int maxStraws;
69 // const unsigned int maxStrawLayers;
70 unsigned int nShellCorners{};
71 unsigned int nCoolingTubes{};
72 //TKclean const unsigned int nWheels;
73
74 // These needs to be static const since they define the first dimensions of two-dimensional arrays further down:
75 static const unsigned int nEndcapPhi = 32;//must be const due to use in factory
76 // unsigned int nEndcapPhi;;//TK: this also??
77 // static const unsigned int nLayers = 3 ;
78 static const unsigned int nBarrelRings = 3 ;
79 // const unsigned int nBarrelRings;
80
82 // Barrel Parameters //
84
86
89
96
99
102
105
108
109 unsigned int * barrelNumberOfStrawsInModule{nullptr};
110 //TKrename unsigned int * nStraw;
111
112 // unsigned int * numberOfStrawLayersInWheel;
113
114 unsigned int * barrelNumberOfStrawLayersInModule{nullptr};
116
119
122
123 // The global position of two straws are given. The first of these
124 // two is always the first in the set. The second varies by layer.
125 // The variable barrelIndexOfSecondGlobalAlignmentStraw specifies the straw which is used for the
126 // second alignment straw. The other arrays give the global position
127 // of the first and second alignment straw, layer-per-layer.
133 double * strawXPosition[nBarrelRings]{nullptr};
134 double * strawYPosition[nBarrelRings]{nullptr};
135
136 //Barrel flange and services add ons
150
154
156 // EndCap Parameters //
158
159 unsigned int endcapNumberOfAWheels{};
160 unsigned int endcapNumberOfBWheels{};
161 unsigned int endcapNumberOfCWheels{};
162
166
171
174
181
184
210
218
219 double *endCapLayerZPositionA{nullptr};
220 double *endCapLayerZPositionB{nullptr};
221 double *endCapLayerZPositionC{nullptr};
224
226
231
243};
244
245#endif
unsigned int endcapNumberOfStrawsInStrawLayer_AWheels
double * strawYPosition[nBarrelRings]
unsigned int endCapNumberOfStrawLayersPerWheelB
unsigned int endcapNumberOfStrawsInStrawLayer_CWheels
virtual ~TRTParameterInterface()=default
unsigned int endcapNumberOfStrawsInStrawLayer_BWheels
unsigned int barrelNumberOfLayersWithLargeDeadRegion
unsigned int endCapNumberOfStrawLayersPerWheelA
unsigned int * barrelIndexOfSecondGlobalAlignmentStraw
double * barrelYOfCoolingTube[nBarrelRings]
virtual bool partPresent(const std::string &partName) const =0
virtual void SetValues()=0
double endCapDistanceBetweenWheelCentersA[2][6]
double endCapDistanceBetweenWheelCentersB[2][14]
double * strawXPosition[nBarrelRings]
double * shellCornerYPosition[nBarrelRings]
TRTParameterInterface()=default
unsigned int * barrelNumberOfStrawsInStrawLayer[nBarrelRings]
virtual const GeoTrf::Transform3D & partTransform(const std::string &partName) const =0
virtual InDetDD::DistortedMaterialManager * distortedMatManager()=0
double * shellCornerXPosition[nBarrelRings]
unsigned int endCapNumberOfStrawLayersPerWheelC
static const unsigned int nEndcapPhi
static const unsigned int nBarrelRings
unsigned int * barrelNumberOfStrawsInModule
unsigned int * barrelNumberOfStrawLayersInModule
double * barrelXOfCoolingTube[nBarrelRings]
Message Stream Member.