Re: [ROOT] 'Streamer is null' error.

From: Rene Brun (Rene.Brun@cern.ch)
Date: Mon Jun 18 2001 - 02:58:12 MEST


Hi Yannick,
Your example should work with 3.01.
Could you provide a running example that I could use to investigate
your problem?

Rene Brun

On Wed, 13 Jun 2001, Patois Yannick wrote:

> 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