GSI Helmholtzzentrum für Schwerionenforschung
Hi everybody, I tried to make the GENFIT RecoHitFactory mechanism typesafe. In the produce method I cast a detector hit out of the TClonesArray to a hit_T* (which is specialized as an PndMvdHit for example. It works for the STT, TPC, DCH, .... but for the MVD IO have a problem. If you try a dynamic_cast<PndMvdHit*>(hit) where hit is an TObject* which comes out of the TClonesArray, you get something like: /Users/hoeppi/trunk/genfit/RecoHitProducer.h:100: error: cannot dynamic_cast '#'obj_type_ref' not supported by dump_expr#<expression error>((&((RecoHitProducer<PndMvdHit, PndMvdRecoHit>*)this)->RecoHitProducer<PndMvdHit, PndMvdRecoHit>::hitArrayTClones->TClonesArray::<anonymous>), index)' (of type 'class TObject*') to type 'struct PndMvdHit*' (target is not pointer or reference to complete type) make[2]: *** [mvd/CMakeFiles/MvdTrk.dir/MvdTracking/PndMvdKalmanTask.o] Error 1 Google didnt really help me. Does anyone know what an incomplete type means. I thought it is a class where some methods where declared, but never defined. But I checked PndMvdHit an FairHit (which is its base class) but I didnt find anything. I would really appreciate your help on this. Cheers, Christian