Hi Pasha, using inheritance raises more problems than it solves, e.g. the dot product. Maybe you could make TVector3 a member of TLorentzVector: class TLorentzVector { Double_t E; // time / energy component TVector3 P; // space / momentum component .... }; This represents more the physical structure of TLorentzVector, which consists of a TVector3 and another component, and has the advantage not to create a temporary if you write TVector3 & TLorentzVector::Vect() { return P; }; I don't see a problem writing jet.Vect().DrEtaPhi(track) then. Martin
This archive was generated by hypermail 2b29 : Tue Jan 04 2000 - 00:43:42 MET