Re: trying to get tpm1 vertex

From: Peter H. L. Christiansen (pchristi@nbi.dk)
Date: Thu Mar 29 2001 - 14:43:46 EST

  • Next message: Stephen J. Sanders: "Re: trying to get tpm1 vertex"

    Hi Steve
    
    I don't understand exactly what is wrong, but the idea with this part of
    the code was that I look in the BrDataTable where the sequences are and I
    want to find a particular sequence, but the pointer adresses are different
    because the clusters own the sequences. I use the root method :
    http://root.cern.ch/root/html/src/TCollection.cxx.html#TCollection:FindObject
    (Not the first but the second one) and overloads IsEqual() for the
    BrTPCSequence.
    
    This used to work fine for me, but maybe something changed in root 3,
    and it did.
    
    I looked at the root home page and found that :
    
    Constness
    =========
    
    We have modified the signature of many methods (in particular in the
    TObject base class) to introduce more constness in the system.
    You must change your code if your classes derive from TObject and use
    one of the modified functions such as ls(), Print(), Compare(), Hash(),
    etc. The modified TObject methods are:
    
        virtual TObject    *Clone(const char *newname="") const;
        virtual Int_t       Compare(const TObject *obj) const;
        virtual void        DrawClass() const;
        virtual TObject    *DrawClone(Option_t *option="") const;
        virtual void        Dump() const;
        virtual TObject    *FindObject(const TObject *obj) const;
        virtual char       *GetObjectInfo(Int_t px, Int_t py) const;
        virtual ULong_t     Hash() const;
        virtual void        Inspect() const;
        virtual Bool_t      IsEqual(const TObject *obj) const;
        virtual void        ls(Option_t *option="") const;
        virtual void        Print(Option_t *option="") const;
    
    This is the only source of backward incompatibility and we urge you to
    carefully check your code. Some compilers will warn you about your old
    "Hash()" hiding the new "Hash() const" but, e.g. not g++. So if for
    example
    none of your objects are found anymore in containers than it is very
    likely
    you have to fix IsEqual(), Compare() and/or Hash().
    
    So Steve I think you should make IsEqual const (just modify it in the
    header) and check it in if it works - do we need both versions ? - so
    maybe wait with the check in.
    
    Cheers
        Peter
    
    -- 
    :-) --------------------------------- )-:
    |Peter H L Christiansen aka PAN @ NBI	|
    |EMAIL  : pchristi@nbi.dk		|
    |OFFICE : Tb1 @ NBI			|
    |PHONE  : 353 25269			|
    |SNAIL  : Hans Tavsensgade 35, 4th	|
    |PHONE  : 35 349336			|
    :-D --------------------------------- \-:
    



    This archive was generated by hypermail 2b29 : Thu Mar 29 2001 - 14:44:07 EST