GSI Forum
GSI Helmholtzzentrum für Schwerionenforschung

Home » PANDA » PandaRoot » Event Generators » Problem with implementing new decay models in EvtGen (don't understand error message)
Problem with implementing new decay models in EvtGen [message #18154] Wed, 22 April 2015 08:41 Go to next message
Albrecht Gillitzer is currently offline  Albrecht Gillitzer
Messages: 49
Registered: March 2004
continuous participant
From: *ikp.kfa-juelich.de
Hi experts,

I want to implement 2 new decay models in EvtGen for pbar + d collisions ("EvtDeuteronDeltaDelta" and "EvtPbarDelta2PiPi") for which I copied the existing and working module "EvtDeuteronSpectator". I added both new decay models in CMakeLists.txt and in EvtModelReg.cpp just as for the other decay models.
Both modules are compiled without errors eventually but now I am getting the error message:
...
...
[ 36%] Built target EvtGenExternal
Linking CXX executable ../../../bin/evtgen_dalitz
../../../lib/libEvtGen.so.0.0.0: undefined reference to `vtable for EvtDeuteronDeltaDelta'
../../../lib/libEvtGen.so.0.0.0: undefined reference to `vtable for EvtPbarDelta2PiPi'
collect2: error: ld returned 1 exit status
make[2]: *** [bin/evtgen_dalitz] Error 1
make[1]: *** [pgenerators/EvtGen/EvtGen/CMakeFiles/evt_dalitz.dir/all] Error 2
make: *** [all] Error 2

What does "vtable" mean? Did I miss any required modification?
I didn't change anything related to evtgen_dalitz (???), why am I getting an error there?

Hoping for your help,
Albrecht
Re: Problem with implementing new decay models in EvtGen [message #18155 is a reply to message #18154] Wed, 22 April 2015 09:14 Go to previous messageGo to next message
StefanoSpataro is currently offline  StefanoSpataro
Messages: 2736
Registered: June 2005
Location: Torino
first-grade participant

From: 91.253.107*
Could you please attach the files so that I can try?
Re: Problem with implementing new decay models in EvtGen [message #18157 is a reply to message #18154] Wed, 22 April 2015 10:20 Go to previous messageGo to next message
Stefan Pflueger is currently offline  Stefan Pflueger
Messages: 99
Registered: February 2012
continuous participant
From: *kph.uni-mainz.de
Hello,

without the source code its difficult to make precise statement. The message itself means that inside the libEvtGen.so shared library there is no definition of the virtual functions EvtDeuteronDeltaDelta and EvtPbarDelta2PiPi. Since you added your decay modes to this library it will generate this error every time this library is linked on the build process of an application. Are the virtual destructors of the EvtDeuteronDeltaDelta and EvtPbarDelta2PiPi classes defined? So something like this should be in the source file:

EvtDeuteronDeltaDelta::~EvtDeuteronDeltaDelta() {
}

Best regards,

Stefan
Re: Problem with implementing new decay models in EvtGen [message #18160 is a reply to message #18157] Wed, 22 April 2015 13:50 Go to previous message
Albrecht Gillitzer is currently offline  Albrecht Gillitzer
Messages: 49
Registered: March 2004
continuous participant
From: 131.220.226*
Yes, you are right!
It seems I've deleted the lines defining the virtual destructors by mistake. Now it (compiling and linking) works. Whether it does the right thing is another question (which will keep me busy for some time).

Thanks a lot, best regards,
Albrecht
Previous Topic: EMFFGen as a pi + pi - generator
Next Topic: simpleEvtGen doesn't know deuteron target
Goto Forum:
  


Current Time: Fri Nov 22 21:02:29 CET 2024

Total time taken to generate the page: 0.00649 seconds