30 : mLayerNumber(layerNumber), mLayerName(layerName), mInnerRadius(rIn), mAngularCoverage(angularCoverage), mZ(zLength), mX2X0(layerX2X0), mModuleWidth(4.54)
33 mChipThickness = mX2X0 * Si_X0;
34 LOGP(info,
"Creating layer: id: {} rInner: {} thickness: {} zLength: {} x2X0: {}", mLayerNumber, mInnerRadius, mChipThickness, mZ, mX2X0);
39 TGeoMedium* medSi = gGeoManager->GetMedium(
"TRK_SILICON$");
40 TGeoMedium* medAir = gGeoManager->GetMedium(
"TRK_AIR$");
46 mSensorName = sensName;
48 Double_t toDeg = 180 / TMath::Pi();
49 mLayer =
new TGeoTubeSeg(mInnerRadius, mInnerRadius + mChipThickness, mZ / 2., -0.5 * mAngularCoverage * toDeg, 0.5 * mAngularCoverage * toDeg);
50 TGeoVolume* layerVol =
new TGeoVolume(mLayerName.c_str(), mLayer, medAir);
51 layerVol->SetLineColor(kYellow);
53 TGeoTubeSeg* stave =
new TGeoTubeSeg(mInnerRadius, mInnerRadius + mChipThickness, mZ / 2., -0.5 * mAngularCoverage * toDeg, 0.5 * mAngularCoverage * toDeg);
54 TGeoTubeSeg* chip =
new TGeoTubeSeg(mInnerRadius, mInnerRadius + mChipThickness, mZ / 2., -0.5 * mAngularCoverage * toDeg, 0.5 * mAngularCoverage * toDeg);
55 TGeoTubeSeg* sensor =
new TGeoTubeSeg(mInnerRadius, mInnerRadius + mChipThickness, mZ / 2., -0.5 * mAngularCoverage * toDeg, 0.5 * mAngularCoverage * toDeg);
57 TGeoVolume* sensVol =
new TGeoVolume(sensName.c_str(), sensor, medSi);
58 sensVol->SetLineColor(kYellow);
59 TGeoVolume* chipVol =
new TGeoVolume(chipName.c_str(), chip, medSi);
60 chipVol->SetLineColor(kYellow);
61 TGeoVolume* staveVol =
new TGeoVolume(staveName.c_str(), stave, medSi);
62 staveVol->SetLineColor(kYellow);
64 LOGP(info,
"Inserting {} in {} ", sensVol->GetName(), chipVol->GetName());
65 chipVol->AddNode(sensVol, 1,
nullptr);
67 LOGP(info,
"Inserting {} in {} ", chipVol->GetName(), staveVol->GetName());
68 staveVol->AddNode(chipVol, 1,
nullptr);
70 LOGP(info,
"Inserting {} in {} ", staveVol->GetName(), layerVol->GetName());
71 layerVol->AddNode(staveVol, 1,
nullptr);
73 LOGP(info,
"Inserting {} in {} ", layerVol->GetName(), motherVolume->GetName());
74 motherVolume->AddNode(layerVol, 1, combiTrans);