Hi Rene, Thanks for the help. I guess I've been using IDL for too long. I've fixed the array initializations, but I am still having problems. I've tried to follow the Event.h example. When I type #include "Chamber.h" there is only the following warning: Warning: Interpreted class Chamber derived from precompiled class TObject FILE:Chamber.h LINE:7 !!!There are some limitations regarding compiled/interpreted class inheritance When I try to define a Chamber object, ROOT crashes and I get the lxplus command line. There are no error messages. I have tried to generate the dictionary by the command: rootcint ChamberDict.cxx Chamber.h+ This seems to have worked, so I am not sure if I have left something out, declared my class wrong, or made some other error. The Chamber.h and Chamber.cxx files are attached below. Thank you for your help, Chris Chamber.h: #include <iostream.h> #include "TObject.h" #include <string.h> class TDirectory; //I've added this because it was in Event.h; is it //necessary? class Chamber : public TObject { public: const int maxscans=20; //const to determine array size char chamber_type[10]; //this info read from scan filenames char site[6]; int serial_no; char section[maxscans]; //array of maxscans strings to allow for maxscans char orientation[maxscans]; int scan_no[maxscans]; int ch_sag_1; //sag of chamber, wires, and difference for section 1 int wire_sag_1; int sag_diff_1; int ch_sag_2; //sag of chamber, wires, and difference for section 2 int wire_sag_2; int sag_diff_2; int tool[maxscans]; //data to be read from each scan int side[maxscans]; int theta_x[maxscans]; int S_z[maxscans]; int S_y_corrected[maxscans]; int S_y_raw[maxscans]; int S_y_correction[maxscans]; float rms[maxscans]; Chamber(); ClassDef (Chamber, 1); }; Chamber.cxx: #include "Chamber.h" ClassImp (Chamber); Chamber::Chamber() { chamber_type[0]=site[0]='\0'; section[0]=orientation[0]='\0'; serial_no=ch_sag_1=wire_sag_1=sag_diff_1=ch_sag_2=wire_sag_2=sag_diff_2=0; for (int i=0; i < maxscans; i++) { scan_no[i]=tool[i]=side[i]=theta_x[i]=S_z[i]= S_y_corrected[i]=S_y_raw[i]=S_y_correction[i]=0; rms[i]=0.0; }; }
This archive was generated by hypermail 2b29 : Thu Jan 01 2004 - 17:50:12 MET