36 SoSeparator * errDetailed =
new SoSeparator;
39 double striplength =
m_rpc->detectorElement()->StripLength(measPhi);
50 std::optional<Amg::Vector2D> localposHIT =
m_rpc->detectorElement()->surface(
id ).Trk::Surface::globalToLocal(globalposHIT,
tolerance);
53 localposHIT.emplace();
54 localposHIT->setZero();
57 SoTranslation * localtrans0 =
new SoTranslation;
62 const std::vector<Identifier> rdolist =
m_rpc->rdoList();
63 if (rdolist.size() == 1 || !
collHandle()->drawRDOs())
65 errDetailed->addChild(localtrans0);
66 errDetailed->addChild(
common()->nodeManager()->getShapeNode_Strip(
project ? striplength+0.2 : striplength,
67 m_rpc->detectorElement()->StripWidth(measPhi),
70 SoTranslation * localtransBack =
new SoTranslation;
71 localtransBack->translation.setValue(-(localtrans0->translation.getValue()));
72 errDetailed->addChild(localtransBack);
74 VP1Msg::message(
"Warning: RPC has additional elements in rdoList: THIS HAS NEVER BEEN TESTED");
75 SoSeparator * rdos =
new SoSeparator;
76 rdos->addChild(localtrans0);
78 rdos->addChild(
common()->nodeManager()->getShapeNode_Strip(
project ? striplength+0.2 : striplength,
79 m_rpc->detectorElement()->StripWidth(measPhi),
84 rdos->addChild( transparent );
91 std::optional<Amg::Vector2D> localposRDO =
m_rpc->detectorElement()->surface( rdo_id ).Trk::Surface::globalToLocal(globalposRDO,
tolerance);
98 SoTranslation * localtrans =
new SoTranslation;
100 rdos->addChild(localtrans);
102 rdos->addChild(
common()->nodeManager()->getShapeNode_Strip(
project ? striplength+0.2 : striplength,
103 m_rpc->detectorElement()->StripWidth(measPhi),
104 project ? 2*(6.85+0.1) : 0.8));
106 localposOLD = *localposRDO;
108 errDetailed->addChild(rdos);
110 shape_detailed = errDetailed;