Dear Agheta,
I was checking with VecGeom Convertor for tessellated and other shapes like tube, box shapes. but somehow it is loosing the actual shapes information and probably the material infromation(Not sure).
These informations are required for us during the track reconstruction is there any way to get all the information as they were before convertor. for example using TGeoManager. A small part of the reconstruction code where geometry information are being used after transportation.
When we are not using the convertor it is working fine. but as soon as we run it with the convertor it is throwing fatal error becuase somehow it is not recongnizing the shapes from the line TGeoShape* shape = volume->GetShape();
if (!targetNode) {
LOG(fatal) << “Could not find the target.”;
}
Double_t local[3] = {0., 0., 0.}; // target centre, local c.s.
Double_t global[3]; // target centre, global c.s.
gGeoManager->cd(targetPath);
gGeoManager->GetCurrentMatrix()->LocalToMaster(local, global);
target.x = global[0];
target.y = global[1];
target.z = global[2];
fTargetXYZ[0] = target.x;
fTargetXYZ[1] = target.y;
fTargetXYZ[2] = target.z;
if (fVerbose) {
cout << “KALMAN FILTER : === READ TARGET MATERIAL ===” << endl;
cout << " found targed "" << targetPath << "" at ( " << target.x << " " << target.y << " " << target.z << " ) "
<< endl;
}
TGeoVolume* volume = targetNode->GetVolume();
TGeoShape* shape = volume->GetShape();
if (shape->TestShapeBit(TGeoShape::kGeoTube)) {
target.r = static_cast<TGeoTube*>(shape)->GetRmin();
target.R = static_cast<TGeoTube*>(shape)->GetRmax();
target.dz = static_cast<TGeoTube*>(shape)->GetDz();
}
else {
LOG(fatal) << “Only a target of a tube shape is supported”;
}
TGeoMaterial* material = volume->GetMaterial();
Double_t radlength = material->GetRadLen();
target.RadLength = radlength;
target.Fe = 0.02145;
target.rr = target.r * target.r;
target.RR = target.R * target.R;
target.ZThickness = target.dz;
target.ZReference = target.z;
vTargets.push_back(target);
LOG(info) << "Target info: " << target.KFInfo();
}