57 Double_t toDeg = 180 / TMath::Pi();
61 mSensorName = sensName;
63 TGeoTubeSeg* sensor =
new TGeoTubeSeg(mInnerRadius, mOuterRadius, mChipThickness / 2., -0.5 * mAngularCoverage * toDeg, 0.5 * mAngularCoverage * toDeg);
64 TGeoTubeSeg* chip =
new TGeoTubeSeg(mInnerRadius, mOuterRadius, mChipThickness / 2., -0.5 * mAngularCoverage * toDeg, 0.5 * mAngularCoverage * toDeg);
65 TGeoTubeSeg* disk =
new TGeoTubeSeg(mInnerRadius, mOuterRadius, mChipThickness / 2., -0.5 * mAngularCoverage * toDeg, 0.5 * mAngularCoverage * toDeg);
67 TGeoMedium* medSi = gGeoManager->GetMedium(
"TRK_SILICON$");
68 TGeoMedium* medAir = gGeoManager->GetMedium(
"TRK_AIR$");
70 TGeoVolume* sensVol =
new TGeoVolume(sensName.c_str(), sensor, medSi);
71 sensVol->SetLineColor(kYellow);
72 TGeoVolume* chipVol =
new TGeoVolume(chipName.c_str(), chip, medSi);
73 chipVol->SetLineColor(kYellow);
74 TGeoVolume* diskVol =
new TGeoVolume(mDiskName.c_str(), disk, medAir);
75 diskVol->SetLineColor(kYellow);
77 LOG(info) <<
"Inserting " << sensVol->GetName() <<
" inside " << chipVol->GetName();
78 chipVol->AddNode(sensVol, 1,
nullptr);
80 LOG(info) <<
"Inserting " << chipVol->GetName() <<
" inside " << diskVol->GetName();
81 diskVol->AddNode(chipVol, 1,
nullptr);
84 TGeoCombiTrans* fwdPetalCombiTrans =
new TGeoCombiTrans(*(combiTrans->MakeClone()));
85 fwdPetalCombiTrans->SetDz(mZ);
86 fwdPetalCombiTrans->RegisterYourself();
88 LOG(info) <<
"Inserting " << diskVol->GetName() <<
" inside " << motherVolume->GetName();
89 motherVolume->AddNode(diskVol, 1, fwdPetalCombiTrans);