ATLAS Offline Software
Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
SCT_FwdModule Class Reference

#include <SCT_FwdModule.h>

Inheritance diagram for SCT_FwdModule:
Collaboration diagram for SCT_FwdModule:

Public Member Functions

 SCT_FwdModule (const std::string &name, int ringType, InDetDD::SCT_DetectorManager *detectorManager, SCT_GeometryManager *geometryManager, SCT_MaterialManager *materials, GeoModelIO::ReadGeoModel *sqliteReader, std::shared_ptr< std::map< std::string, GeoFullPhysVol * >> mapFPV, std::shared_ptr< std::map< std::string, GeoAlignableTransform * >> mapAX)
 
 ~SCT_FwdModule ()
 
 SCT_FwdModule (const SCT_FwdModule &)=delete
 
SCT_FwdModuleoperator= (const SCT_FwdModule &)=delete
 
int ringType () const
 
virtual GeoVPhysVol * build (SCT_Identifier id)
 
double stereoAngle () const
 
double moduleShift () const
 
double length () const
 
double outerWidth () const
 
double innerWidth () const
 
double thickness () const
 
double innerRadius () const
 
double outerRadius () const
 
double centerRadius () const
 
double sensorCenterRadius () const
 
double powerTapeStart () const
 
double mainMountPointRadius () const
 
double secMountPointRadius () const
 
double endModuleRadius () const
 
const std::string & getName () const
 
std::string intToString (int i) const
 

Public Attributes

std::unique_ptr< SCT_FwdSensorm_sensor
 
std::unique_ptr< SCT_FwdModuleConnectorm_connector
 
std::unique_ptr< SCT_FwdHybridm_hybrid
 
std::unique_ptr< SCT_FwdSpinem_spine
 
std::unique_ptr< SCT_FwdSubSpinem_subspineL
 
std::unique_ptr< SCT_FwdSubSpinem_subspineR
 

Protected Member Functions

double epsilon () const
 

Protected Attributes

const GeoLogVol * m_logVolume
 
GeoModelIO::ReadGeoModel * m_sqliteReader
 
std::shared_ptr< std::map< std::string, GeoFullPhysVol * > > m_mapFPV
 
std::shared_ptr< std::map< std::string, GeoAlignableTransform * > > m_mapAX
 
InDetDD::SCT_DetectorManagerm_detectorManager
 
SCT_GeometryManagerm_geometryManager
 
SCT_MaterialManagerm_materials
 

Private Member Functions

void getParameters ()
 
virtual const GeoLogVol * preBuild ()
 

Private Attributes

int m_ringType
 
double m_stereoAngle = 0.0
 
double m_length = 0.0
 
double m_widthOuter = 0.0
 
double m_widthInner = 0.0
 
double m_thickness = 0.0
 
double m_moduleShift = 0.0
 
double m_glueThickness = 0.0
 
double m_distBtwMountPoints = 0.0
 
double m_mountPointToCenter = 0.0
 
bool m_hybridIsOnInnerEdge = false
 
int m_upperSide = 0
 
double m_innerRadius = 0.0
 
double m_outerRadius = 0.0
 
double m_powerTapeStart = 0.0
 
double m_mainMountPoint = 0.0
 
double m_secMountPoint = 0.0
 
double m_endLocator = 0.0
 
bool m_connectorPresent = false
 
std::string m_name
 

Static Private Attributes

static const double s_epsilon = 1.0e-6 * Gaudi::Units::mm
 

Detailed Description

Definition at line 26 of file SCT_FwdModule.h.

Constructor & Destructor Documentation

◆ SCT_FwdModule() [1/2]

SCT_FwdModule::SCT_FwdModule ( const std::string &  name,
int  ringType,
InDetDD::SCT_DetectorManager detectorManager,
SCT_GeometryManager geometryManager,
SCT_MaterialManager materials,
GeoModelIO::ReadGeoModel *  sqliteReader,
std::shared_ptr< std::map< std::string, GeoFullPhysVol * >>  mapFPV,
std::shared_ptr< std::map< std::string, GeoAlignableTransform * >>  mapAX 
)

Definition at line 49 of file SCT_FwdModule.cxx.

56  : SCT_UniqueComponentFactory(name, detectorManager, geometryManager, materials, sqliteReader, mapFPV, mapAX),
58 {
59  getParameters();
60  if(!m_sqliteReader)
61  {
62  m_hybrid = std::make_unique<SCT_FwdHybrid>("SCT_FwdHybrid"+intToString(ringType), m_ringType, m_detectorManager, m_geometryManager, materials);
63  m_spine = std::make_unique<SCT_FwdSpine>("SCT_FwdSpine"+intToString(ringType), m_ringType, m_detectorManager, m_geometryManager, materials);
64  m_subspineL = std::make_unique<SCT_FwdSubSpine>("SCT_FwdSubSpineL"+intToString(ringType), m_ringType, SUBSPINE_LEFT,
66  m_subspineR = std::make_unique<SCT_FwdSubSpine>("SCT_FwdSubSpineR"+intToString(ringType), m_ringType, SUBSPINE_RIGHT,
68  if (m_connectorPresent) {
69  m_connector = std::make_unique<SCT_FwdModuleConnector>("SCT_FwdModuleConnector"+intToString(ringType), m_ringType,
71  }
72  }
73  m_sensor = std::make_unique<SCT_FwdSensor>("ECSensor"+intToString(ringType), m_ringType,
76 
77 }

◆ ~SCT_FwdModule()

SCT_FwdModule::~SCT_FwdModule ( )

Definition at line 79 of file SCT_FwdModule.cxx.

80 {
81 }

◆ SCT_FwdModule() [2/2]

SCT_FwdModule::SCT_FwdModule ( const SCT_FwdModule )
delete

Member Function Documentation

◆ build()

GeoVPhysVol * SCT_FwdModule::build ( SCT_Identifier  id)
virtual

Implements SCT_UniqueComponentFactory.

Definition at line 174 of file SCT_FwdModule.cxx.

175 {
176 
177  // build method for creating module parent physical volume
178  // and puting all components into it
179  // - relative position of component is part of its shape
180  GeoFullPhysVol * module=nullptr;
181 
182  if(!m_sqliteReader){
183 
184  module= new GeoFullPhysVol(m_logVolume);
185 
186  if (m_connector != nullptr) module->add(m_connector->getVolume());
187  module->add(m_hybrid->getVolume());
188  module->add(m_spine->getVolume());
189  module->add(m_subspineL->getVolume());
190  module->add(m_subspineR->getVolume());
191 
192 
193  // name tags are not final
194 
195 
196  // Position bottom (x<0)sensor
197  double positionX;
198  double positionZ = m_sensor->sensorOffset(); // For truncated middle the sensor is offset.
199  double rotation;
200  positionX =-(0.5*m_spine->thickness() + m_glueThickness + 0.5*m_sensor->thickness());
201  rotation = 0.5 * m_stereoAngle;
202  GeoTrf::Translation3D vecB(positionX,0,0);
203  // Rotate so that X axis goes from backside to implant side
204  GeoTrf::Transform3D rotB = GeoTrf::RotateX3D(rotation)*GeoTrf::RotateZ3D(180*Gaudi::Units::degree);
205  // First translate in z (only non-zero for truncated middle)
206  // Then rotate and then translate in x.
207  GeoAlignableTransform *bottomTransform
208  = new GeoAlignableTransform(GeoTrf::Transform3D(vecB*rotB)*GeoTrf::TranslateZ3D(positionZ));
209 
210  int bottomSideNumber = (m_upperSide) ? 0 : 1;
211  id.setSide(bottomSideNumber);
212  module->add(new GeoNameTag("Sensor_Side#"+intToString(bottomSideNumber)));
213  module->add(new GeoIdentifierTag(600+bottomSideNumber));
214  module->add(bottomTransform);
215  GeoVPhysVol * bottomSensorPV = m_sensor->build(id);
216  module->add(bottomSensorPV);
217 
218  // Store transform
219  m_detectorManager->addAlignableTransform(0, id.getWaferId(), bottomTransform, bottomSensorPV);
220 
221 
222  if (m_ringType == 2) { // Place glass pieces in place of sensor
223  module->add(new GeoTransform(GeoTrf::Transform3D(vecB*rotB)));
224  module->add(m_sensor->getInactive());
225  }
226 
227  // Position top (x>0) sensor
228  positionX=-positionX;
230  GeoTrf::RotateX3D rotT(rotation);
231  //rotT.rotateZ(180*Gaudi::Units::degree); // Rotate so that X axis goes from implant side to backside
232  GeoTrf::Translation3D vecT(positionX,0,0);
233  // First translate in z (only non-zero for truncated middle)
234  // Then rotate and then translate in x.
235  GeoAlignableTransform *topTransform
236  = new GeoAlignableTransform(GeoTrf::Transform3D(vecT*rotT)*GeoTrf::TranslateZ3D(positionZ));
237 
238  int topSideNumber = m_upperSide;
239  id.setSide(topSideNumber);
240  module->add(new GeoNameTag("Sensor_Side#"+intToString(topSideNumber)));
241  module->add(new GeoIdentifierTag(600+topSideNumber));
242  module->add(topTransform);
243  GeoVPhysVol * topSensorPV = m_sensor->build(id);
244  module->add(topSensorPV);
245 
246  // Store transform
247  m_detectorManager->addAlignableTransform(0, id.getWaferId(), topTransform, topSensorPV);
248 
249  if (m_ringType == 2) { // Place glass pieces in place of sensor
250  module->add(new GeoTransform(GeoTrf::Transform3D(vecT*rotT)));
251  module->add(m_sensor->getInactive());
252  };
253  }
254  else{
255 
256  int bottomSideNumber = (m_upperSide) ? 0 : 1;
257  id.setSide(bottomSideNumber);
258  m_sensor->build(id);
259 
260  // Store transform
261  std::string key="FwdSensor_Side#"+std::to_string(bottomSideNumber)+"_"+std::to_string(id.getBarrelEC())+"_"+std::to_string(id.getLayerDisk())+"_"+std::to_string(id.getEtaModule())+"_"+std::to_string(id.getPhiModule());
262  m_detectorManager->addAlignableTransform(0, id.getWaferId(), (*m_mapAX)[key], (*m_mapFPV)[key]);
263 
264  int topSideNumber = m_upperSide;
265  id.setSide(topSideNumber);
266 
267  m_sensor->build(id);
268 
269  key="FwdSensor_Side#"+std::to_string(topSideNumber)+"_"+std::to_string(id.getBarrelEC())+"_"+std::to_string(id.getLayerDisk())+"_"+std::to_string(id.getEtaModule())+"_"+std::to_string(id.getPhiModule());
270 
271  // Store transform
272  m_detectorManager->addAlignableTransform(0, id.getWaferId(), (*m_mapAX)[key], (*m_mapFPV)[key]);
273 
274  }
275  return module;
276 
277 }

◆ centerRadius()

double SCT_FwdModule::centerRadius ( ) const
inline

Definition at line 59 of file SCT_FwdModule.h.

59 {return 0.5 * (m_innerRadius + m_outerRadius);}

◆ endModuleRadius()

double SCT_FwdModule::endModuleRadius ( ) const
inline

Definition at line 65 of file SCT_FwdModule.h.

65 {return m_endLocator;}

◆ epsilon()

double SCT_ComponentFactory::epsilon ( ) const
protectedinherited

Definition at line 37 of file SCT_ComponentFactory.cxx.

38 {
39  return s_epsilon;
40 }

◆ getName()

const std::string& SCT_ComponentFactory::getName ( ) const
inlineinherited

Definition at line 35 of file SCT_ComponentFactory.h.

35 {return m_name;}

◆ getParameters()

void SCT_FwdModule::getParameters ( )
private

Definition at line 85 of file SCT_FwdModule.cxx.

86 {
88  m_upperSide = parameters->fwdModuleUpperSideNumber(m_ringType);
89  if(!m_sqliteReader)
90  {
91  m_glueThickness = parameters->fwdModuleGlueThickness(m_ringType);
92  m_distBtwMountPoints = parameters->fwdModuleDistBtwMountPoints(m_ringType);
93  m_mountPointToCenter = parameters->fwdModuleMountPoint(m_ringType);
94  m_hybridIsOnInnerEdge = parameters->fwdHybridIsOnInnerEdge(m_ringType);
95  m_stereoAngle = parameters->fwdModuleStereoAngle(m_ringType);
96  m_connectorPresent = parameters->fwdModuleConnectorPresent();
97 
98  }
99 
100 }

◆ innerRadius()

double SCT_FwdModule::innerRadius ( ) const
inline

Definition at line 56 of file SCT_FwdModule.h.

56 {return m_innerRadius;}

◆ innerWidth()

double SCT_FwdModule::innerWidth ( ) const
inline

Definition at line 53 of file SCT_FwdModule.h.

53 {return m_widthInner;}

◆ intToString()

std::string SCT_ComponentFactory::intToString ( int  i) const
inherited

Definition at line 29 of file SCT_ComponentFactory.cxx.

30 {
31  std::ostringstream str;
32  str << i;
33  return str.str();
34 }

◆ length()

double SCT_FwdModule::length ( ) const
inline

Definition at line 51 of file SCT_FwdModule.h.

51 {return m_length;}

◆ mainMountPointRadius()

double SCT_FwdModule::mainMountPointRadius ( ) const
inline

Definition at line 63 of file SCT_FwdModule.h.

63 {return m_mainMountPoint;}

◆ moduleShift()

double SCT_FwdModule::moduleShift ( ) const
inline

Definition at line 49 of file SCT_FwdModule.h.

49 {return m_moduleShift;}

◆ operator=()

SCT_FwdModule& SCT_FwdModule::operator= ( const SCT_FwdModule )
delete

◆ outerRadius()

double SCT_FwdModule::outerRadius ( ) const
inline

Definition at line 57 of file SCT_FwdModule.h.

57 {return m_outerRadius;}

◆ outerWidth()

double SCT_FwdModule::outerWidth ( ) const
inline

Definition at line 52 of file SCT_FwdModule.h.

52 {return m_widthOuter;}

◆ powerTapeStart()

double SCT_FwdModule::powerTapeStart ( ) const
inline

Definition at line 61 of file SCT_FwdModule.h.

61 {return m_powerTapeStart;}

◆ preBuild()

const GeoLogVol * SCT_FwdModule::preBuild ( )
privatevirtual

Implements SCT_UniqueComponentFactory.

Definition at line 103 of file SCT_FwdModule.cxx.

104 {
105  // module volume preparing
106 
107  if(m_sqliteReader) return nullptr;
108 
109  const SCT_GeneralParameters * generalParameters = m_geometryManager->generalParameters();
110  double safety = generalParameters->safety();
111  double safetyTmp = safety * Gaudi::Units::cm; // For compatibility with minor bug in older version - safety already in CLHEP units;
112 
113  // module_length = (zhyb->hyby - zhyb->hybysh + zsmi[m_ringType].mountd2 + 0.33 ) * Gaudi::Units::cm + safety;
114  // Distance from outer bybrid edge to outer spine edge.
115  // FIXME: The 1.05Gaudi::Units::mm is not needed
116  double moduleLength = m_hybrid->mountPointToOuterEdge() + m_mountPointToCenter + m_spine->moduleCenterToEnd() + 1.05 * Gaudi::Units::mm;
117  m_length = moduleLength + safety; // We add a bit of safety for the envelope
118 
119  // module_thickness = (zhyb->hybz0 * 2 + safety) * Gaudi::Units::cm;
120  double sensorEnvelopeThickness = 2 * m_sensor->thickness() + m_spine->thickness() + 2 * m_glueThickness;
121  m_thickness = std::max(sensorEnvelopeThickness, m_hybrid->thickness());
122 
123  // module_widthInner = ((zsmo->subdq + zssp[m_ringType].ssp0l + 0.325) * 2.+ 0.7 + safety)*Gaudi::Units::cm; // upto to NOVA_760
124  // module_widthOuter = ((zsmo->subdq + zssp[m_ringType].ssp2l + 0.325) * 2.+ 0.7 + safety)*Gaudi::Units::cm; // upto to NOVA_760
125 
126  //module_widthInner = ((zsmo->subdq + zssp[m_ringType].ssp0l) * 2.+ 0.7 + safety)*Gaudi::Units::cm;
127  //module_widthOuter = ((zsmo->subdq + zssp[m_ringType].ssp2l) * 2.+ 0.7 + safety)*Gaudi::Units::cm;
128 
129  m_widthInner = (m_spine->width() + 2 * m_subspineL->innerWidth() + 0.7*Gaudi::Units::cm) + safetyTmp;
130  m_widthOuter = (m_spine->width() + 2 * m_subspineL->outerWidth() + 0.7*Gaudi::Units::cm) + safetyTmp;
131 
132  if (m_ringType == 3 ) {
133  // module_widthOuter = (( zsmo->subdq + zssp[m_ringType].ssp2l + 0.325) * 2.+ 1.6 + safety)*Gaudi::Units::cm; // upto to NOVA_760
134  // module_widthOuter = (( zsmo->subdq + zssp[m_ringType].ssp2l) * 2.+ 1.6 + safety)*Gaudi::Units::cm;
135  m_widthOuter = m_spine->width() + 2 * m_subspineL->outerWidth() + 1.6*Gaudi::Units::cm + safetyTmp;
136  }
137 
138  // Calculate module shift. Distance between module physics center and center of envelope.
139  int hybridSign = m_hybridIsOnInnerEdge ? +1: -1;
140  //module_shift = (zhyb->hyby - zhyb->hybysh + zsmi[m_ringType].mountd + 0.05)*Gaudi::Units::cm;
141  //module_shift = hybrid * (module_length / 2. - module_shift);
142 
143  double moduleCenterToHybridOuterEdge = m_hybrid->mountPointToOuterEdge() + m_mountPointToCenter + 0.5*Gaudi::Units::mm;
144  //FIXME: Should be: (ie don't need the 0.5Gaudi::Units::mm)
145  // double moduleCenterToHybridOuterEdge = m_hybrid->mountPointToOuterEdge() + m_mountPointToCenter ;
146  m_moduleShift = hybridSign * (0.5 * m_length - moduleCenterToHybridOuterEdge);
147 
148  // Envelope inner/outer radius
149  m_innerRadius = m_sensor->centerRadius() + m_moduleShift - 0.5*m_length;
150  m_outerRadius = m_sensor->centerRadius() + m_moduleShift + 0.5*m_length;
151 
152  // Radial location of mount points (ignoring streo rotation)
153  m_mainMountPoint = m_sensor->centerRadius() - hybridSign * m_mountPointToCenter;
155  m_endLocator = m_sensor->centerRadius() + hybridSign * m_spine->moduleCenterToEnd();
156 
157  // Outer module the hybrid is on inner edge.
158  // For the rest its in the outer edge.
159  // TODO Check this.
160  m_powerTapeStart = m_sensor->centerRadius() - hybridSign * moduleCenterToHybridOuterEdge;
161 
162 
163  const GeoTrd * moduleEnvelopeShape = new GeoTrd(0.5 * m_thickness, 0.5 * m_thickness,
164  0.5 * m_widthInner, 0.5 * m_widthOuter,
165  0.5 * m_length);
166  const GeoShapeShift & moduleEnvelope = (*moduleEnvelopeShape << GeoTrf::TranslateZ3D(m_moduleShift) );
167 
168  GeoLogVol * moduleLog = new GeoLogVol(getName(), &moduleEnvelope, m_materials->gasMaterial());
169 
170  return moduleLog;
171 
172 }

◆ ringType()

int SCT_FwdModule::ringType ( ) const
inline

Definition at line 43 of file SCT_FwdModule.h.

43 {return m_ringType;}

◆ secMountPointRadius()

double SCT_FwdModule::secMountPointRadius ( ) const
inline

Definition at line 64 of file SCT_FwdModule.h.

64 {return m_secMountPoint;}

◆ sensorCenterRadius()

double SCT_FwdModule::sensorCenterRadius ( ) const
inline

Definition at line 60 of file SCT_FwdModule.h.

60 {return m_sensor->centerRadius();}

◆ stereoAngle()

double SCT_FwdModule::stereoAngle ( ) const
inline

Definition at line 47 of file SCT_FwdModule.h.

47 {return m_stereoAngle;}

◆ thickness()

double SCT_FwdModule::thickness ( ) const
inline

Definition at line 54 of file SCT_FwdModule.h.

54 {return m_thickness;}

Member Data Documentation

◆ m_connector

std::unique_ptr<SCT_FwdModuleConnector> SCT_FwdModule::m_connector

Definition at line 99 of file SCT_FwdModule.h.

◆ m_connectorPresent

bool SCT_FwdModule::m_connectorPresent = false
private

Definition at line 94 of file SCT_FwdModule.h.

◆ m_detectorManager

InDetDD::SCT_DetectorManager* SCT_ComponentFactory::m_detectorManager
protectedinherited

Definition at line 41 of file SCT_ComponentFactory.h.

◆ m_distBtwMountPoints

double SCT_FwdModule::m_distBtwMountPoints = 0.0
private

Definition at line 81 of file SCT_FwdModule.h.

◆ m_endLocator

double SCT_FwdModule::m_endLocator = 0.0
private

Definition at line 92 of file SCT_FwdModule.h.

◆ m_geometryManager

SCT_GeometryManager* SCT_ComponentFactory::m_geometryManager
protectedinherited

Definition at line 42 of file SCT_ComponentFactory.h.

◆ m_glueThickness

double SCT_FwdModule::m_glueThickness = 0.0
private

Definition at line 80 of file SCT_FwdModule.h.

◆ m_hybrid

std::unique_ptr<SCT_FwdHybrid> SCT_FwdModule::m_hybrid

Definition at line 100 of file SCT_FwdModule.h.

◆ m_hybridIsOnInnerEdge

bool SCT_FwdModule::m_hybridIsOnInnerEdge = false
private

Definition at line 83 of file SCT_FwdModule.h.

◆ m_innerRadius

double SCT_FwdModule::m_innerRadius = 0.0
private

Definition at line 86 of file SCT_FwdModule.h.

◆ m_length

double SCT_FwdModule::m_length = 0.0
private

Definition at line 75 of file SCT_FwdModule.h.

◆ m_logVolume

const GeoLogVol* SCT_UniqueComponentFactory::m_logVolume
protectedinherited

Definition at line 90 of file SCT_ComponentFactory.h.

◆ m_mainMountPoint

double SCT_FwdModule::m_mainMountPoint = 0.0
private

Definition at line 90 of file SCT_FwdModule.h.

◆ m_mapAX

std::shared_ptr<std::map<std::string, GeoAlignableTransform*> > SCT_UniqueComponentFactory::m_mapAX
protectedinherited

Definition at line 96 of file SCT_ComponentFactory.h.

◆ m_mapFPV

std::shared_ptr<std::map<std::string, GeoFullPhysVol*> > SCT_UniqueComponentFactory::m_mapFPV
protectedinherited

Definition at line 95 of file SCT_ComponentFactory.h.

◆ m_materials

SCT_MaterialManager* SCT_ComponentFactory::m_materials
protectedinherited

Definition at line 43 of file SCT_ComponentFactory.h.

◆ m_moduleShift

double SCT_FwdModule::m_moduleShift = 0.0
private

Definition at line 79 of file SCT_FwdModule.h.

◆ m_mountPointToCenter

double SCT_FwdModule::m_mountPointToCenter = 0.0
private

Definition at line 82 of file SCT_FwdModule.h.

◆ m_name

std::string SCT_ComponentFactory::m_name
privateinherited

Definition at line 49 of file SCT_ComponentFactory.h.

◆ m_outerRadius

double SCT_FwdModule::m_outerRadius = 0.0
private

Definition at line 87 of file SCT_FwdModule.h.

◆ m_powerTapeStart

double SCT_FwdModule::m_powerTapeStart = 0.0
private

Definition at line 88 of file SCT_FwdModule.h.

◆ m_ringType

int SCT_FwdModule::m_ringType
private

Definition at line 72 of file SCT_FwdModule.h.

◆ m_secMountPoint

double SCT_FwdModule::m_secMountPoint = 0.0
private

Definition at line 91 of file SCT_FwdModule.h.

◆ m_sensor

std::unique_ptr<SCT_FwdSensor> SCT_FwdModule::m_sensor

Definition at line 98 of file SCT_FwdModule.h.

◆ m_spine

std::unique_ptr<SCT_FwdSpine> SCT_FwdModule::m_spine

Definition at line 101 of file SCT_FwdModule.h.

◆ m_sqliteReader

GeoModelIO::ReadGeoModel* SCT_UniqueComponentFactory::m_sqliteReader
protectedinherited

Definition at line 91 of file SCT_ComponentFactory.h.

◆ m_stereoAngle

double SCT_FwdModule::m_stereoAngle = 0.0
private

Definition at line 74 of file SCT_FwdModule.h.

◆ m_subspineL

std::unique_ptr<SCT_FwdSubSpine> SCT_FwdModule::m_subspineL

Definition at line 102 of file SCT_FwdModule.h.

◆ m_subspineR

std::unique_ptr<SCT_FwdSubSpine> SCT_FwdModule::m_subspineR

Definition at line 103 of file SCT_FwdModule.h.

◆ m_thickness

double SCT_FwdModule::m_thickness = 0.0
private

Definition at line 78 of file SCT_FwdModule.h.

◆ m_upperSide

int SCT_FwdModule::m_upperSide = 0
private

Definition at line 84 of file SCT_FwdModule.h.

◆ m_widthInner

double SCT_FwdModule::m_widthInner = 0.0
private

Definition at line 77 of file SCT_FwdModule.h.

◆ m_widthOuter

double SCT_FwdModule::m_widthOuter = 0.0
private

Definition at line 76 of file SCT_FwdModule.h.

◆ s_epsilon

const double SCT_ComponentFactory::s_epsilon = 1.0e-6 * Gaudi::Units::mm
staticprivateinherited

Definition at line 50 of file SCT_ComponentFactory.h.


The documentation for this class was generated from the following files:
SCT_ComponentFactory::m_geometryManager
SCT_GeometryManager * m_geometryManager
Definition: SCT_ComponentFactory.h:42
SCT_GeometryManager::forwardModuleParameters
const SCT_ForwardModuleParameters * forwardModuleParameters() const
Definition: SCT_GeometryManager.cxx:91
SCT_FwdModule::m_widthInner
double m_widthInner
Definition: SCT_FwdModule.h:77
SCT_ComponentFactory::m_name
std::string m_name
Definition: SCT_ComponentFactory.h:49
SCT_UniqueComponentFactory::m_mapFPV
std::shared_ptr< std::map< std::string, GeoFullPhysVol * > > m_mapFPV
Definition: SCT_ComponentFactory.h:95
max
#define max(a, b)
Definition: cfImp.cxx:41
SCT_GeneralParameters::safety
double safety() const
Definition: SCT_GeneralParameters.cxx:48
SCT_FwdModule::m_length
double m_length
Definition: SCT_FwdModule.h:75
SCT_UniqueComponentFactory::m_mapAX
std::shared_ptr< std::map< std::string, GeoAlignableTransform * > > m_mapAX
Definition: SCT_ComponentFactory.h:96
SCT_FwdModule::m_distBtwMountPoints
double m_distBtwMountPoints
Definition: SCT_FwdModule.h:81
SCT_FwdModule::m_outerRadius
double m_outerRadius
Definition: SCT_FwdModule.h:87
SCT_FwdModule::m_glueThickness
double m_glueThickness
Definition: SCT_FwdModule.h:80
SCT_UniqueComponentFactory::SCT_UniqueComponentFactory
SCT_UniqueComponentFactory(const std::string &name, InDetDD::SCT_DetectorManager *detectorManager, SCT_GeometryManager *geometryManager, SCT_MaterialManager *materials=nullptr, GeoModelIO::ReadGeoModel *sqliteReader=nullptr, std::shared_ptr< std::map< std::string, GeoFullPhysVol * >> mapFPV=nullptr, std::shared_ptr< std::map< std::string, GeoAlignableTransform * >> mapAX=nullptr)
Definition: SCT_ComponentFactory.cxx:43
SCT_FwdModule::ringType
int ringType() const
Definition: SCT_FwdModule.h:43
SUBSPINE_RIGHT
#define SUBSPINE_RIGHT
Definition: SCT_FwdSubSpine.h:14
SCT_ComponentFactory::m_detectorManager
InDetDD::SCT_DetectorManager * m_detectorManager
Definition: SCT_ComponentFactory.h:41
SCT_GeometryManager::generalParameters
const SCT_GeneralParameters * generalParameters() const
Definition: SCT_GeometryManager.cxx:105
SCT_FwdModule::m_widthOuter
double m_widthOuter
Definition: SCT_FwdModule.h:76
SCT_FwdModule::m_subspineR
std::unique_ptr< SCT_FwdSubSpine > m_subspineR
Definition: SCT_FwdModule.h:103
SCT_FwdModule::m_secMountPoint
double m_secMountPoint
Definition: SCT_FwdModule.h:91
SCT_FwdModule::m_moduleShift
double m_moduleShift
Definition: SCT_FwdModule.h:79
cm
const double cm
Definition: Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/FCAL_ChannelMap.cxx:25
SCT_FwdModule::m_stereoAngle
double m_stereoAngle
Definition: SCT_FwdModule.h:74
python.PyAthena.module
module
Definition: PyAthena.py:134
SCT_FwdModule::m_mainMountPoint
double m_mainMountPoint
Definition: SCT_FwdModule.h:90
SCT_ForwardModuleParameters
Definition: SCT_ForwardModuleParameters.h:12
lumiFormat.i
int i
Definition: lumiFormat.py:92
SCT_FwdModule::m_mountPointToCenter
double m_mountPointToCenter
Definition: SCT_FwdModule.h:82
SCT_MaterialManager::gasMaterial
const GeoMaterial * gasMaterial() const
Definition: SCT_MaterialManager.cxx:80
SCT_FwdModule::m_connector
std::unique_ptr< SCT_FwdModuleConnector > m_connector
Definition: SCT_FwdModule.h:99
xAOD::rotation
rotation
Definition: TrackSurface_v1.cxx:15
SCT_FwdModule::m_innerRadius
double m_innerRadius
Definition: SCT_FwdModule.h:86
Amg::Transform3D
Eigen::Affine3d Transform3D
Definition: GeoPrimitives.h:46
SCT_FwdModule::getParameters
void getParameters()
Definition: SCT_FwdModule.cxx:85
SCT_FwdModule::m_subspineL
std::unique_ptr< SCT_FwdSubSpine > m_subspineL
Definition: SCT_FwdModule.h:102
SCT_FwdModule::m_ringType
int m_ringType
Definition: SCT_FwdModule.h:72
SCT_FwdModule::m_powerTapeStart
double m_powerTapeStart
Definition: SCT_FwdModule.h:88
SCT_ComponentFactory::intToString
std::string intToString(int i) const
Definition: SCT_ComponentFactory.cxx:29
SCT_FwdModule::m_connectorPresent
bool m_connectorPresent
Definition: SCT_FwdModule.h:94
SCT_FwdModule::m_hybrid
std::unique_ptr< SCT_FwdHybrid > m_hybrid
Definition: SCT_FwdModule.h:100
SCT_GeneralParameters
Definition: SCT_GeneralParameters.h:16
SCT_FwdModule::m_endLocator
double m_endLocator
Definition: SCT_FwdModule.h:92
SCT_ComponentFactory::s_epsilon
static const double s_epsilon
Definition: SCT_ComponentFactory.h:50
SCT_FwdModule::m_upperSide
int m_upperSide
Definition: SCT_FwdModule.h:84
SCT_ComponentFactory::m_materials
SCT_MaterialManager * m_materials
Definition: SCT_ComponentFactory.h:43
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
ActsTrk::to_string
std::string to_string(const DetectorType &type)
Definition: GeometryDefs.h:34
SCT_FwdModule::m_sensor
std::unique_ptr< SCT_FwdSensor > m_sensor
Definition: SCT_FwdModule.h:98
SCT_UniqueComponentFactory::m_logVolume
const GeoLogVol * m_logVolume
Definition: SCT_ComponentFactory.h:90
python.SystemOfUnits.mm
int mm
Definition: SystemOfUnits.py:83
SCT_FwdModule::preBuild
virtual const GeoLogVol * preBuild()
Definition: SCT_FwdModule.cxx:103
python.CaloScaleNoiseConfig.str
str
Definition: CaloScaleNoiseConfig.py:78
InDetDD::SCT_DetectorManager::addAlignableTransform
virtual void addAlignableTransform(int level, const Identifier &id, GeoAlignableTransform *xf, const GeoVFullPhysVol *child)
Add alignable transforms. No access to these, they will be changed by manager:
Definition: SCT_DetectorManager.cxx:264
Amg::Translation3D
Eigen::Translation< double, 3 > Translation3D
Definition: GeoPrimitives.h:44
physics_parameters.parameters
parameters
Definition: physics_parameters.py:144
str
Definition: BTagTrackIpAccessor.cxx:11
SCT_FwdModule::m_spine
std::unique_ptr< SCT_FwdSpine > m_spine
Definition: SCT_FwdModule.h:101
SCT_UniqueComponentFactory::m_sqliteReader
GeoModelIO::ReadGeoModel * m_sqliteReader
Definition: SCT_ComponentFactory.h:91
SCT_ComponentFactory::getName
const std::string & getName() const
Definition: SCT_ComponentFactory.h:35
SCT_FwdModule::m_thickness
double m_thickness
Definition: SCT_FwdModule.h:78
python.SystemOfUnits.degree
tuple degree
Definition: SystemOfUnits.py:106
SUBSPINE_LEFT
#define SUBSPINE_LEFT
Definition: SCT_FwdSubSpine.h:13
SCT_FwdModule::m_hybridIsOnInnerEdge
bool m_hybridIsOnInnerEdge
Definition: SCT_FwdModule.h:83
mapkey::key
key
Definition: TElectronEfficiencyCorrectionTool.cxx:37