//------------------------ detclass.h --------------------------- // to build shared library call: // root // .L detclass.C+ #ifndef vdetclass_h #define vdetclass_h #include #include #include class Axis: public TObject { public: Int_t axisid; Int_t nchannels; Int_t* chnum = nullptr; ///< [nchannels] Float_t* chdata = nullptr; ///< [nchannels] Axis(): TObject() { clear(); } Axis(Int_t axisid_, Int_t nchannels_): TObject() { clear(); axisid = axisid_; nchannels = nchannels_; chnum = new Int_t [nchannels]; chdata = new Float_t[nchannels]; } Axis(const Axis& axis): TObject(axis) { axisid = axis.axisid; nchannels = axis.nchannels; for (Int_t i=0; i Clear(); } void AddAxis(const Axis* axis_) { cerr << "inside AddAxis 1: naxis=" << naxis << "\n"; TClonesArray &axes = *fAxes; axis_ = new ((axes)[naxis++]) Axis(); cerr << "inside AddAxis 2: naxis=" << naxis << "\n"; } /* Axis *AddAxis() { cerr << "inside AddAxis 1: naxis=" << naxis << "\n"; TClonesArray &axes = *fAxes; Axis *axis = new(axes[naxis++]) Axis(); return axis; //new ((*axis)[naxis]) Axis(*axis_); //naxis = axis->GetLast()+1; //naxis++; //cerr << "inside AddAxis 2: naxis=" << naxis << "\n"; //new ((*axis)[naxis++]) Axis(*axis_); //cerr << "inside AddAxis 3: naxis=" << naxis << "\n"; //Axis* currentAxis = (Axis*) axis->At(naxis); //cerr << "inside AddAxis 3\n"; //naxis = axis->GetLast()+1; // update naxis //cerr << "inside AddAxis 4: naxis=" << naxis << "\n"; } */ ClassDef(MyEvent,1) // Initial version };// end Event class #endif