Hi rooters, With latest ROOT version (3.01.05) on linux-ix86, I get the following error when running a programm: ERROR, Streamer is null OLSiliconData*fSiHits offset= 72 type=501 [fNhits] Sorted and paired silicon hits The errors comes from an automatically generated streamer from one of my class: class OLTelescopeData : public TObject { public: OLTelescopeData (void); ~OLTelescopeData(void); void SetPlasticData (const S_plastic_struct *sp); void SetSiHits (OLSiliconData *siData,const int nbHits); protected: // Not written on disk double fTeleDist; //! distance to the telescope in mm // Plastic brut data Float_t fT [4]; Float_t fE [4]; Float_t fEa[4]; // Silicon with reconstructed data Int_t fNhits; // OLSiliconData fSiHitPrv; OLSiliconData *fSiHits; //[fNhits] Sorted and paired silicon hits public: ClassDef(OLTelescopeData,1) // half) analysed Telescope data class }; I try to use the new capabilities of ROOT to automatically generates streamers for array of objects. If I uncomment the line // OLSiliconData fSiHitPrv; and comment the following one, the programm runs without errors. For me, it means that the OLSiliconData streamer is OK. So what's wrong ? Note: OLSiliconData also use an automatic streamer, but is only made of 'simple' data types: class OLSiliconData : public TObject { public: OLSiliconData (void); ~OLSiliconData(void); void Set(const OLSiCluster &cir,const OLSiCluster &rad,const double teleDist); void SetiEiEa(const int iE,const int iEa){fiE=iE;fiEa=iEa;} double Phi (void ) const {return(fPhi);} double Theta (void ) const {return(fTheta);} private: Char_t fiE,fiEa; // Plastic hit number Float_t dEc,dEr; // Eloss in Circular and Radial Float_t fTheta,fPhi; // Angle of deviation of the particle UChar_t N1c,N1r; // Numer of hit strips Float_t Qloc; // Quality of localisation public: ClassDef(OLSiliconData,1) // Silicon detector particles data }; Yannick
This archive was generated by hypermail 2b29 : Tue Jan 01 2002 - 17:50:49 MET