Hello ROOTers,
I'm having trouble compiling a dictionary generated by rootcint (ROOT
2.22.09, SuSE Linux 6.1, version 2.2.5 ,g++ version egcs-2.91.66).
The classes CT1CamConfig and CT1TimeStamp inherit from TObject,
CT1RunInfo inherits from CT1CamConfig and CT1Event from CT1TimeStamp.
The dictionary CT1DatDict is generated from all four .H files.
Questions are: Why are the Streamer and ShowMembers methods generated
only for CT1TimeStamp ? and: Why does the compiler choke when compiling
CT1DatDict.C ??
I have attached the .h-files. If you need the classfiles, please let me
know.
Thanks in advance, Oliver
PS: Fons: I already had included ClassImp/ClassDef Macros. Sorry for the
big message before, I didn't realize the dictionary was that big.
========== transcript of compilation =====================
ifkpe1> make CT1Dat
g++ -O -Wall -fno-rtti -fno-exceptions -fPIC
-I/users/home/mang/linux/root/include -c CT1CamConfig.C
g++ -O -Wall -fno-rtti -fno-exceptions -fPIC
-I/users/home/mang/linux/root/include -c CT1TimeStamp.C
g++ -O -Wall -fno-rtti -fno-exceptions -fPIC
-I/users/home/mang/linux/root/include -c CT1RunInfo.C
g++ -O -Wall -fno-rtti -fno-exceptions -fPIC
-I/users/home/mang/linux/root/include -c CT1Event.C
/users/home/mang/linux/root/bin/rootcint -f CT1DatDict.C -c \
CT1CamConfig.H CT1TimeStamp.H \
CT1RunInfo.H CT1Event.H
Note: operator new() masked 1c
Note: operator delete() masked 1c
Class CT1CamConfig: Streamer() not declared
Class CT1CamConfig: ShowMembers() not declared
Class CT1RunInfo: Streamer() not declared
Class CT1RunInfo: ShowMembers() not declared
Class CT1Event: Streamer() not declared
Class CT1Event: ShowMembers() not declared
g++ -O -Wall -fno-rtti -fno-exceptions -fPIC
-I/users/home/mang/linux/root/include -c CT1DatDict.C
CT1DatDict.C: In function `int G__CT1CamConfig_ClassDef_8_0(struct
G__value *, char *, struct G__param *, int)':
CT1DatDict.C:129: parse error before `private'
CT1DatDict.C:129: warning: control reaches end of non-void function
`G__CT1CamConfig_ClassDef_8_0(G__value *, char *, G__param *, int)'
CT1DatDict.C: In function `Version_t Class_Version()':
CT1DatDict.C:129: `libp' undeclared (first use this function)
CT1DatDict.C:129: (Each undeclared identifier is reported only once
CT1DatDict.C:129: for each function it appears in.)
CT1DatDict.C:129: warning: control reaches end of non-void function
`Class_Version()'
CT1DatDict.C: At top level:
CT1DatDict.C:129: virtual outside class declaration
CT1DatDict.C:129: non-member function `IsA()' cannot have `const' method
qualifier
CT1DatDict.C: In function `class TClass * IsA()':
CT1DatDict.C:129: confused by earlier errors, bailing out
make: *** [CT1DatDict.o] Error 1
ifkpe1>
============= end transcript =======================================
-- Oliver Mang Institut fuer Experimentelle und Angewandte Physik, CAU Kiel Phone: ++49/431/880-2482 E-Mail: mang@ifkhep.uni-kiel.de --------------------------------------------------------------- "The future is not what it used to be" --------------AC813C7F3E97094D0BD9B21D Content-type: text/plain; charset="us-ascii"; name="CT1DatDict.h" Content-transfer-encoding: 7bit Content-Disposition: inline; filename="CT1DatDict.h"/******************************************************************** * CT1DatDict.h ********************************************************************/ #ifdef __CINT__ #error CT1DatDict.h/C is only for compilation. Abort cint. #endif #include <stddef.h> #include <stdio.h> #include <stdlib.h> #include <math.h> #include <string.h> extern "C" { #define G__ANSIHEADER #include "G__ci.h" extern void G__cpp_setup_tagtableCT1DatDict(); extern void G__cpp_setup_inheritanceCT1DatDict(); extern void G__cpp_setup_typetableCT1DatDict(); extern void G__cpp_setup_memvarCT1DatDict(); extern void G__cpp_setup_globalCT1DatDict(); extern void G__cpp_setup_memfuncCT1DatDict(); extern void G__cpp_setup_funcCT1DatDict(); extern void G__set_cpp_environmentCT1DatDict(); }
#include "TROOT.h" #include "TMemberInspector.h" #include "CT1CamConfig.H" #include "CT1TimeStamp.H" #include "CT1RunInfo.H" #include "CT1Event.H"
#ifndef G__MEMFUNCBODY #endif
extern G__linked_taginfo G__CT1DatDictLN_TClass; extern G__linked_taginfo G__CT1DatDictLN_TObject; extern G__linked_taginfo G__CT1DatDictLN_CT1CamConfig; extern G__linked_taginfo G__CT1DatDictLN_CT1TimeStamp; extern G__linked_taginfo G__CT1DatDictLN_CT1RunInfo; extern G__linked_taginfo G__CT1DatDictLN_CT1Event;
--------------AC813C7F3E97094D0BD9B21D Content-type: text/plain; charset="us-ascii"; name="CT1CamConfig.H" Content-transfer-encoding: 7bit Content-Disposition: inline; filename="CT1CamConfig.H"
#ifndef _CT1CAMCONFIG_H_ #define _CT1CAMCONFIG_H_
#include "TObject.h"
class CT1CamConfig:public TObject { private: UShort_t numpix; UShort_t se1zero; UShort_t se2zero; UShort_t nummupix; public: CT1CamConfig(); // CT1CamConfig(UShort_t se1z, UShort_t se2z, UShort_t npix=127, // UShort_t nmpix=0); ~CT1CamConfig(); UShort_t GetNumPix(); void GetZeroPos(UShort_t *se1, UShort_t *se2); UShort_t GetNumMuPix(); void SetNumPix(UShort_t npix); void SetZeroPos(UShort_t se1, UShort_t se2); void SetNumMuPix(UShort_t mupix); ClassDef(CT1CamConfig,1); };
#endif // _CT1CAMCONFIG_H_
--------------AC813C7F3E97094D0BD9B21D Content-type: text/plain; charset="us-ascii"; name="CT1TimeStamp.H" Content-transfer-encoding: 7bit Content-Disposition: inline; filename="CT1TimeStamp.H"
#ifndef _CT1TIMESTAMP_H_ #define _CT1TIMESTAMP_H_
#include "TObject.h"
const Int_t SecPerDay = 86400;
class CT1TimeStamp:public TObject { private: Double_t jd; Int_t mjd; ULong_t secsincemidnight; ULong_t microsecs; private: void TimetoJD(); void JDtoTime();
public: CT1TimeStamp(); ~CT1TimeStamp();
void SetTime(Int_t m, ULong_t sec, ULong_t usec); void SetTime(Double_t j, ULong_t sec, ULong_t usec); void SetMJD(Int_t m); void SetJD(Double_t j); void SetSecs(ULong_t sec); void SetUSecs(ULong_t usec); Double_t GetJD(); Int_t GetMJD(); ULong_t GetSecs(); ULong_t GetUSecs();
ClassDef(CT1TimeStamp,1) };
#endif //_CT1TIMESTAMP_H_
--------------AC813C7F3E97094D0BD9B21D Content-type: text/plain; charset="us-ascii"; name="CT1RunInfo.H" Content-transfer-encoding: 7bit Content-Disposition: inline; filename="CT1RunInfo.H"
#ifndef _CT1RUNINFO_H_ #define _CT1RUNINFO_H_
#include "CT1CamConfig.H"
class CT1RunInfo:public CT1CamConfig //:public RA, public Dec { private: UChar_t telescope; UInt_t runnum; UInt_t numevents; Float_t ra; // in hours Float_t dec; // in degree UShort_t obstime; // in minutes Char_t on_off; // 1=on, 0=off Float_t mean_za; // mean zenith angle
public: CT1RunInfo(); CT1RunInfo(UChar_t tel, UInt_t run, UInt_t numevt); ~CT1RunInfo(); UChar_t GetTelescope(); UInt_t GetRunNumber(); UInt_t GetNumEvents(); void GetCoords(Float_t *rightascension, Float_t *declination); UShort_t GetObservTime(); Char_t GetObservMode(); Float_t GetMeanZA();
void SetTelescope(UChar_t tel); void SetRunNumber(UInt_t run); void SetNumEvents(UInt_t num); void SetCoords(Float_t rightascension, Float_t declination); void SetObservTime(UShort_t minutes); void SetObservMode(Char_t on_off_flag); void SetObservMode(char *mode); void SetMeanZA(Float_t za);
ClassDef(CT1RunInfo,1); };
#endif // _CT1RUNINFO_H_
--------------AC813C7F3E97094D0BD9B21D Content-type: text/plain; charset="us-ascii"; name="CT1Event.H" Content-transfer-encoding: 7bit Content-Disposition: inline; filename="CT1Event.H"
#ifndef _CT1EVENT_H_ #define _CT1EVENT_H_
#include "CT1TimeStamp.H"
class CT1Event:public CT1TimeStamp { private: UInt_t runnum; UInt_t eventnum; Short_t numadcpix; Short_t numtdcpix; UShort_t se1should; UShort_t se1is; UShort_t se2should; UShort_t se2is; Float_t hourangle; // in hours Float_t pointcorr1, pointcorr2; Float_t trigrate; // current trigger rate in Hz
public: CT1Event(); CT1Event(UInt_t run, UInt_t evt); ~CT1Event(); UInt_t GetRunNumber(); UInt_t GetEventNumber(); Short_t GetNumADCPix(); Short_t GetNumTDCPix(); void GetSE1(UShort_t *should, UShort_t *is); void GetSE2(UShort_t *should, UShort_t *is); Float_t GetHourAngle(); void GetPointCorr(Float_t *pc1, Float_t *pc2); Float_t GetTriggerRate();
void SetRunNumber(UInt_t run); void SetEventNumber(UInt_t evt); void SetNumADCPix(Short_t numadcpix); void SetNumTDCPix(Short_t numtdcpix); void SetSE1(UShort_t should, UShort_t is); void SetSE2(UShort_t should, UShort_t is); void SetHourAngle(Float_t ha); void SetPointCorr(Float_t pc1, Float_t pc2); void SetTriggerRate(Float_t rate);
ClassDef(CT1Event,1); };
#endif //_CT1EVENT_H_
--------------AC813C7F3E97094D0BD9B21D--