39 SoSeparator * errDetailed =
new SoSeparator;
41 double striplength =
m_csc->detectorElement()->stripLength(
id );
52 std::optional<Amg::Vector2D> localposHIT =
m_csc->detectorElement()->surface(
id ).Trk::Surface::globalToLocal(globalposHIT,
tolerance);
56 localposHIT.emplace();
57 localposHIT->setZero();
60 SoTranslation * localtrans0 =
new SoTranslation;
63 const double maxCharge = 1e7;
72 const double stripHeight = (1 + 4*
m_csc->charge()/(maxCharge/3))*CLHEP::mm;
74 const double stripHeightRDOs = 1*CLHEP::mm;
76 const std::vector<Identifier> rdolist =
m_csc->rdoList();
77 if (rdolist.size() == 1 || !
collHandle()->drawRDOs())
79 errDetailed->addChild(localtrans0);
80 errDetailed->addChild(
common()->nodeManager()->getShapeNode_Strip(striplength,
85 SoTranslation * localtransBack =
new SoTranslation;
86 localtransBack->translation.setValue(-(localtrans0->translation.getValue()));
87 errDetailed->addChild(localtransBack);
90 SoSeparator * rdos =
new SoSeparator;
91 rdos->addChild(localtrans0);
93 rdos->addChild(
common()->nodeManager()->getShapeNode_Strip(striplength,
99 rdos->addChild( transparent );
108 std::optional<Amg::Vector2D> localposRDO =
m_csc->detectorElement()->surface( rdo_id ).Trk::Surface::globalToLocal(globalposRDO,
tolerance);
116 SoTranslation * localtrans =
new SoTranslation;
118 rdos->addChild(localtrans);
119 double striplengthRDO =
m_csc->detectorElement()->stripLength( rdo_id );
121 rdos->addChild(
common()->nodeManager()->getShapeNode_Strip(striplengthRDO,
123 idhelper->
measuresPhi( rdo_id )), stripHeightRDOs));
125 localposOLD = *localposRDO;
127 errDetailed->addChild(rdos);
130 SoMaterial * mat =
new SoMaterial;
131 mat->diffuseColor.setValue(1.0,0,0);
132 errDetailed->addChild(mat);
133 errDetailed->addChild(
common()->nodeManager()->getShapeNode_Cross(10));
135 shape_detailed = errDetailed;