Hi Anthony,
My guess is that you forgot to link with libPhysics.so.
This library is not linked by default with the Root executable
and it contains TLorentzVector.
Rene Brun
Anthony Faust wrote:
>
> Good morning,
>
> I have a compiled class that includes an inline function as follows,
>
>
> #ifndef TXrayHit_hh
> #define TXrayHit_hh 1
>
> #include "TObject.h"
> #include "TLorentzVector.h"
>
> class TXrayHit : public TObject {
> public:
> TXrayHit();
> virtual ~TXrayHit();
>
> public:
>
> inline TLorentzVector GetP() const;
>
> private:
>
> Float_t fPx; // momentum
> Float_t fPy; // momentum
> Float_t fPz; // momentum
> Float_t fE; // energy
>
> ClassDef(TXrayHit,1) //A detector hit
> };
>
> inline TLorentzVector TXrayHit::GetP() const
> {
> TLorentzVector p(0.,0.,0.,0.);
> p.SetPxPyPzE(fPx, fPy, fPz, fE);
> return p;
> }
>
> #endif
>
> The shared library builds correctly and loads fine and seems to show the
> function is known to root,
>
> root [3] .class TXrayHit
> .
> .
> (compiled) 0:0 0 public: TLorentzVector GetP(void) const;
> .
> .
>
> but when I try to access this function in my analysis macro, I get the following
> error,
>
> ld.so.1: /export/home/afaust/bin/root/bin/root.exe: fatal: relocation error:
> file /home/afaust/xray/sim/root/../g4/Xray/root/libEvent.so: symbol
> __0oOTLorentzVectorctdNDB: referenced symbol not found
>
> Any suggestions?
>
> I am using Sun/Solaris 5.6 for SPARC with CC compiler, ROOT version 2.23/09
>
> Thanks.
>
> _____________
> Dr. Anthony A. Faust | Anthony.Faust@dres.dnd.ca
> Defence Research Establishment Suffield | PH: (403) 544-5362
> Box 4000, Medicine Hat, Alberta, CANADA T1A 8K6 | FAX: (403) 544-4704
This archive was generated by hypermail 2b29 : Tue Jan 04 2000 - 00:43:44 MET