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