Hi rooters ,
I create a TTree Branch of MyEvent objects.
MyEvent class contains a TClonesArray of
MyTracks objects (tracks) and MyTrack
contains a TClonesArray of MyPoint objects (points).
Setting split level = 99 doesn't work: I can't access directly
(trough TTree::Draw()) to MyPoint data members.
Any idea?
I list below a simplfied version of .h files.
******************************** MyEvent.h
class MyEvent :public TObject {
private:
int nevent;
TClonesArray * tracks;
public:
MyEvent();
void Add(MyTrack &thistrack, int i);
.....
TClonesArray *GetTracks() {return tracks;};
MyTrack * GetTrackPtr(int index) {
MyTrack * tmp = new MyTrack(*(dynamic_cast<MyTrack *>((*tracks)[index])));
return tmp;
};
};
******************************** MyTrack.h
class MyTrack : public TObject {
private:
int ntrack;
TClonesArray * points;
public:
MyTrack() {points=0;} ;
.....
void operator=( const MyTrack & h);
virtual ~MyTrack() {
if (points!= NULL )
if (points->GetEntries() > 0) points->Clear();
void Add(MyPoint &thispoint, int i);
TClonesArray *GetPoints() {return points;};
MyPoint * GetPointPtr(int index) {
MyPoint * tmp = new MyPoint(*(dynamic_cast<MyPoint *>((*points)[index])));
return tmp; }
};
********************************* MyPoint.h
class MyPoint : public TObject {
private:
int npoint;
double x;
double y;
double z;
public:
MyPoint(int i=0, double _x=0.,double _y=0., double _z=0.)
{ npoint = i;
x = _x;
y = _y;
z = _z; };
virtual ~MyPoint() {};
MyPoint( const MyPoint & h);
void operator=( const MyPoint & h);
double GetX() { return x;};
double GetY() { return y;};
double GetZ() { return z;};
int GetNpoint() { return npoint;};
};
--------------------------------------------------
Carla Bleve
Dipartimento di Fisica & INFN Sez. Lecce
via per Arnesano
I-73100 Lecce (Italy)
Tel: +39-(0)832-320-459
Fax: +39-(0)832-325-128
e-mail: bleve@le.infn.it
This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:50:42 MET