From: alibrary Date: Tue, 19 Dec 2000 08:37:48 +0000 (+0000) Subject: Using dlsym to retrieve address of commons X-Git-Url: http://git.uio.no/git/?p=u%2Fmrichter%2FAliRoot.git;a=commitdiff_plain;h=c4af84120e68ab78b0efbe55558dfd2df4e234dc Using dlsym to retrieve address of commons --- diff --git a/GEANT321/comad/gcadd.cxx b/GEANT321/comad/gcadd.cxx deleted file mode 100644 index a26ae2f66d8..00000000000 --- a/GEANT321/comad/gcadd.cxx +++ /dev/null @@ -1,55 +0,0 @@ -/************************************************************************** - * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * - * * - * Author: The ALICE Off-line Project. * - * Contributors are mentioned in the code where appropriate. * - * * - * Permission to use, copy, modify and distribute this software and its * - * documentation strictly for non-commercial purposes is hereby granted * - * without fee, provided that the above copyright notice appears in all * - * copies and that both the copyright notice and this permission notice * - * appear in the supporting documentation. The authors make no claims * - * about the suitability of this software for any purpose. It is * - * provided "as is" without express or implied warranty. * - **************************************************************************/ - -/* -$Log$ -*/ - -#if defined(CERNLIB_WINNT) - #define gcaddc GCADDC - #define gcaddf GCADDF - #define gcaddd GCADDD - #define gcaddi GCADDI - #define gcaddl GCADDL - #define type_of_call _stdcall -#else - #define gcaddc gcaddc_ - #define gcaddf gcaddf_ - #define gcaddd gcaddd_ - #define gcaddi gcaddi_ - #define gcaddl gcaddl_ - #define type_of_call -#endif - -extern "C" char* type_of_call gcaddc(char *arg) -{ - return arg; -} -extern "C" double* type_of_call gcaddd(double *arg) -{ - return arg; -} -extern "C" int* type_of_call gcaddi(int *arg) -{ - return arg; -} -extern "C" float* type_of_call gcaddf(float *arg) -{ - return arg; -} -extern "C" int* type_of_call gcaddl(int *arg) -{ - return arg; -} diff --git a/GEANT321/comad/gcomad.F b/GEANT321/comad/gcomad.F deleted file mode 100644 index 1512f254b72..00000000000 --- a/GEANT321/comad/gcomad.F +++ /dev/null @@ -1,265 +0,0 @@ -*CMZ : 22/01/99 15.54.06 by Rene Brun -*-- Author : Federico Carminati 28/11/98 - SUBROUTINE GCOMAD(CHCOMM,IADD) -*#include "geant321/gcasho.inc" - COMMON/GCASHO/ZMED,AMED,DMED,E0MED,ZSMED(50),ESMED(50),ALFA, - * STEPALT,PLIN,PLOG,BE2,PLASM,TRNSMA, -* * STEP,PLIN,PLOG,BE2,PLASM,TRNSMA, - * BOSC(50),AOSC(50),EOSC(50),ZOSC(50),EMEAN, - * CMGO(2000),EMGO,EMGOMI, - * NSMED,IOSC(50),NOSC,NMGO,NMGOMA -C - REAL ZMED,AMED,DMED,E0MED,ZSMED,ESMED,ALFA, - * STEPALT,PLIN,PLOG,BE2,PLASM,TRNSMA, -* * STEP,PLIN,PLOG,BE2,PLASM,TRNSMA, - * BOSC,AOSC,EOSC,ZOSC,EMEAN,CMGO,EMGO,EMGOMI - INTEGER NSMED,IOSC,NOSC,NMGO,NMGOMA -C -#include "geant321/gcbank.inc" -#include "geant321/gccurs.inc" -#include "geant321/gccuts.inc" -#include "geant321/gcdraw.inc" -#include "geant321/gcfdim.inc" -#include "geant321/gcflag.inc" -#include "geant321/gcgobj.inc" -#include "geant321/gchil2.inc" -#include "geant321/gchiln.inc" -#include "geant321/gchvir.inc" -#include "geant321/gcjloc.inc" -#include "geant321/gcjump.inc" -#include "geant321/gckine.inc" -#include "geant321/gcking.inc" -#include "geant321/gclist.inc" -#include "geant321/gclund.inc" -#include "geant321/gcmate.inc" -#include "geant321/gcmulo.inc" -#include "geant321/gcmutr.inc" -#include "geant321/gcmzfo.inc" -#include "geant321/gcnum.inc" -*#include "geant321/gcomis.inc" -* COMMON/GCOMIS/JUINIT,JUGEOM,JUKINE,JUSTEP,JUOUT,JULAST - COMMON/GCOMIS/KUINIT,KUGEOM,KUKINE,KUSTEP,KUOUT,KULAST - DIMENSION JPCOMS(6) - EQUIVALENCE (JPCOMS,JUINIT) -* -#include "geant321/gconst.inc" -#include "geant321/gcopti.inc" -#include "geant321/gcpara.inc" -#include "geant321/gcparm.inc" -#include "geant321/gcpmxz.inc" -#include "geant321/gcphnr.inc" -#include "geant321/gcphpr.inc" -#include "geant321/gcphrd.inc" -#include "geant321/gcphxs.inc" -#include "geant321/gcphys.inc" -#include "geant321/gcpixe.inc" -#include "geant321/gcpoly.inc" -#include "geant321/gcpush.inc" -#include "geant321/gcrayt.inc" -#include "geant321/gcrz.inc" -#include "geant321/gcscal.inc" -#include "geant321/gcscan.inc" -#include "geant321/gcsets.inc" -#include "geant321/gcshpt.inc" -*#include "geant321/gcspee.inc" -* -* REAL S1,S2,S3,SS1,SS2,SS3,SRAGMX,SRAGMN, - REAL S1,S2ALT,S3,SS1,SS2,SS3,SRAGMX,SRAGMN, - + RAINT1,RAINT2,RMIN1,RMIN2,RMAX1,RMAX2 - INTEGER ISCOP,NTIM,NTFLAG,IOLDCU,ITSTCU,ISUBLI,IPORLI - INTEGER LPASS,JPORJJ,LEP,JSC -* -* COMMON/GCSPEE/S1,S2,S3,SS1,SS2,SS3,LEP,IPORLI,ISUBLI, - COMMON/GCSPEE/S1,S2ALT,S3,SS1,SS2,SS3,LEP,IPORLI,ISUBLI, - + SRAGMX,SRAGMN,RAINT1,RAINT2,RMIN1,RMIN2, - + RMAX1,RMAX2,JPORJJ,ITSTCU,IOLDCU,ISCOP, - + NTIM,NTFLAG,LPASS,JSC -* - -#include "geant321/gcstak.inc" -#include "geant321/gcstra.inc" -#include "geant321/gctime.inc" -#include "geant321/gctmed.inc" -#include "geant321/gctrak.inc" -#include "geant321/gcunit.inc" -#include "geant321/gcursb.inc" -#include "geant321/gcvdma.inc" -#include "geant321/gcvol1.inc" -#include "geant321/gcvol2.inc" -#include "geant321/gcvolu.inc" -#include "geant321/gcxlun.inc" -#include "geant321/gfkdis.inc" -#include "geant321/gsecti.inc" -* -* Commons for GEANE -#include "geant321/ertrio.inc" -#include "geant321/eropts.inc" -#include "geant321/erwork.inc" -* Commons for GEANE -* - COMMON / QUEST / IQUEST(100) -* - CHARACTER *(*) CHCOMM -#if defined(CERNLIB_DECS) - INTEGER*8 GCADDI, GCADDF, GCADDL, GCADDC, GCADDD, IADD -#else - INTEGER GCADDI, GCADDF, GCADDL, GCADDC, GCADDD -#endif -* - IF(CHCOMM.EQ.'GCASHO') THEN - IADD=GCADDF(ZMED) - ELSE IF(CHCOMM.EQ.'IQ') THEN - IADD=GCADDI(LQ(8)) - ELSE IF(CHCOMM.EQ.'LQ') THEN - IADD=GCADDF(FENDQ(16)) - ELSE IF(CHCOMM.EQ.'GCCURS') THEN - IADD=GCADDI(INTFLA) - ELSE IF(CHCOMM.EQ.'GCCUTS') THEN - IADD=GCADDF(CUTGAM) - ELSE IF(CHCOMM.EQ.'GCDRAW') THEN - IADD=GCADDI(NUMNOD) - ELSE IF(CHCOMM.EQ.'GCFDIM') THEN - IADD=GCADDI(NPROC) - ELSE IF(CHCOMM.EQ.'GCFLAG') THEN - IADD=GCADDI(IDEBUG) - ELSE IF(CHCOMM.EQ.'GCGOBJ') THEN - IADD=GCADDI(IST) - ELSE IF(CHCOMM.EQ.'GCBLIM') THEN - IADD=GCADDI(IHOLE) - ELSE IF(CHCOMM.EQ.'GCHIL2') THEN - IADD=GCADDI(LARETT) - ELSE IF(CHCOMM.EQ.'GCHILN') THEN - IADD=GCADDI(LARECG) - ELSE IF(CHCOMM.EQ.'GCHVIR') THEN - IADD=GCADDI(JVIRT) - ELSE IF(CHCOMM.EQ.'GCJLOC') THEN - IADD=GCADDI(NJLOC) - ELSE IF(CHCOMM.EQ.'GCJLCK') THEN - IADD=GCADDI(NJLCK) - ELSE IF(CHCOMM.EQ.'GCJUMP') THEN - IADD=GCADDI(JUDCAY) - ELSE IF(CHCOMM.EQ.'GCKINE') THEN - IADD=GCADDI(IKINE) - ELSE IF(CHCOMM.EQ.'GCKING') THEN - IADD=GCADDI(KCASE) - ELSE IF(CHCOMM.EQ.'GCKIN2') THEN - IADD=GCADDI(NGPHOT) - ELSE IF(CHCOMM.EQ.'GCKIN3') THEN - IADD=GCADDF(GPOS) - ELSE IF(CHCOMM.EQ.'GCLINK') THEN - IADD=GCADDI(JDIGI) - ELSE IF(CHCOMM.EQ.'GCLIST') THEN - IADD=GCADDI(NHSTA) - ELSE IF(CHCOMM.EQ.'GCLUND') THEN - IADD=GCADDI(IFLUND) - ELSE IF(CHCOMM.EQ.'GCMATE') THEN - IADD=GCADDI(NMAT) - ELSE IF(CHCOMM.EQ.'GCMULO') THEN - IADD=GCADDF(SINMUL) - ELSE IF(CHCOMM.EQ.'GCMUTR') THEN - IADD=GCADDI(NCVOLS) - ELSE IF(CHCOMM.EQ.'GCMUTC') THEN - IADD=GCADDC(GNASH) - ELSE IF(CHCOMM.EQ.'GCMZFO') THEN - IADD=GCADDI(IOMATE) - ELSE IF(CHCOMM.EQ.'GCNUM') THEN - IADD=GCADDI(NMATE) - ELSE IF(CHCOMM.EQ.'GCOMIS') THEN - IADD=GCADDI(KUINIT) - ELSE IF(CHCOMM.EQ.'GCONST') THEN - IADD=GCADDF(PI) - ELSE IF(CHCOMM.EQ.'GCOPTI') THEN - IADD=GCADDI(IOPTIM) - ELSE IF(CHCOMM.EQ.'GCPARA') THEN - IADD=GCADDF(EPSIX0) - ELSE IF(CHCOMM.EQ.'GCPARM') THEN - IADD=GCADDI(IPARAM) - ELSE IF(CHCOMM.EQ.'GCPHNR') THEN - IADD=GCADDI(IGNRFN) - ELSE IF(CHCOMM.EQ.'GCPHPR') THEN - IADD=GCADDF(GFLUPR) - ELSE IF(CHCOMM.EQ.'GCPHRD') THEN - IADD=GCADDF(GPHRAT) - ELSE IF(CHCOMM.EQ.'GCPXRN') THEN - IADD=GCADDC(CRNGUP) - ELSE IF(CHCOMM.EQ.'GCPXCF') THEN - IADD=GCADDF(COFS) - ELSE IF(CHCOMM.EQ.'GCPHYS') THEN - IADD=GCADDI(IPAIR) - ELSE IF(CHCOMM.EQ.'GCPHLT') THEN - IADD=GCADDI(ILABS) - ELSE IF(CHCOMM.EQ.'GCPIXE') THEN - IADD=GCADDI(LIMPRE) - ELSE IF(CHCOMM.EQ.'GCPOLY') THEN - IADD=GCADDI(IZSEC) - ELSE IF(CHCOMM.EQ.'GCPUSH') THEN - IADD=GCADDI(NCVERT) - ELSE IF(CHCOMM.EQ.'GCRAYT') THEN - IADD=GCADDI(INTEN) - ELSE IF(CHCOMM.EQ.'GCRZ1') THEN - IADD=GCADDI(NRECRZ) - ELSE IF(CHCOMM.EQ.'GCRZ2') THEN - IADD=GCADDC(RZTAGS) - ELSE IF(CHCOMM.EQ.'GCSCAL') THEN - IADD=GCADDI(ISLINK) - ELSE IF(CHCOMM.EQ.'GCSCAN') THEN - IADD=GCADDL(SCANFL) - ELSE IF(CHCOMM.EQ.'GCSCAC') THEN - IADD=GCADDC(SFIN) - ELSE IF(CHCOMM.EQ.'GCSETS') THEN - IADD=GCADDI(IHSET) - ELSE IF(CHCOMM.EQ.'GCSHPT') THEN - IADD=GCADDI(NSHLST) - ELSE IF(CHCOMM.EQ.'GCSPEE') THEN - IADD=GCADDF(S1) - ELSE IF(CHCOMM.EQ.'GCSTAK') THEN - IADD=GCADDI(NJTMAX) - ELSE IF(CHCOMM.EQ.'GCSTRA') THEN - IADD=GCADDF(EMAX) - ELSE IF(CHCOMM.EQ.'GCTIME') THEN - IADD=GCADDF(TIMINT) - ELSE IF(CHCOMM.EQ.'GCTMED') THEN - IADD=GCADDI(NUMED) - ELSE IF(CHCOMM.EQ.'GCTRAK') THEN - IADD=GCADDF(VECT) - ELSE IF(CHCOMM.EQ.'GCTPOL') THEN - IADD=GCADDF(POLAR) - ELSE IF(CHCOMM.EQ.'GCUNIT') THEN - IADD=GCADDI(LIN) - ELSE IF(CHCOMM.EQ.'GCURSB') THEN - IADD=GCADDI(NUMNDS) - ELSE IF(CHCOMM.EQ.'GCVDMA') THEN - IADD=GCADDI(NVMANY) - ELSE IF(CHCOMM.EQ.'GCVOL1') THEN - IADD=GCADDI(NLEVL1) - ELSE IF(CHCOMM.EQ.'GCVOL2') THEN - IADD=GCADDI(NLEVE2) - ELSE IF(CHCOMM.EQ.'GCVOLU') THEN - IADD=GCADDI(NLEVEL) - ELSE IF(CHCOMM.EQ.'GCXLUN') THEN - IADD=GCADDI(LUNIT) - ELSE IF(CHCOMM.EQ.'GFKDIS') THEN - IADD=GCADDF(ZINE) - ELSE IF(CHCOMM.EQ.'GSECTI') THEN - IADD=GCADDF(AIEL) - ELSE IF(CHCOMM.EQ.'GCTLIT') THEN - IADD=GCADDF(THRIND) - ELSE IF(CHCOMM.EQ.'QUEST') THEN - IADD=GCADDI(IQUEST) - ELSE IF(CHCOMM.EQ.'ERTRIO') THEN - IADD=GCADDD(ERDTRP) - ELSE IF(CHCOMM.EQ.'EROPTS') THEN - IADD=GCADDF(ERPLI) - ELSE IF(CHCOMM.EQ.'EROPTC') THEN - IADD=GCADDC(CHOPTI) - ELSE IF(CHCOMM.EQ.'ERWORK') THEN - IADD=GCADDD(EI) - ELSE IF(CHCOMM.EQ.'GCBANK') THEN - IADD=GCADDI(NZEBRA) - ELSE - WRITE(6,123) CHCOMM - IADD=0 - ENDIF -* - 123 FORMAT(' *** GCOMAD: cannot load common ',A) - END diff --git a/TGeant3/TGeant3.cxx b/TGeant3/TGeant3.cxx index fe1353d5a07..c3e725a5660 100644 --- a/TGeant3/TGeant3.cxx +++ b/TGeant3/TGeant3.cxx @@ -15,6 +15,9 @@ /* $Log$ +Revision 1.41 2000/12/18 11:33:50 alibrary +New call frequence histograms per module and volume + Revision 1.40 2000/12/06 10:06:58 morsch Add all D and B baryons produced by HIJING to PDG DataBase. @@ -117,14 +120,18 @@ Introduction of the Copyright and cvs Log // // /////////////////////////////////////////////////////////////////////////////// -#include "TGeant3.h" +#include "dlfcn.h" +#include "ctype.h" + #include "TROOT.h" +#include "TDatabasePDG.h" +#include "TLorentzVector.h" + #include "THIGZ.h" -#include "ctype.h" -#include +#include "TGeant3.h" + #include "AliCallf77.h" #include "AliDecayer.h" -#include "TLorentzVector.h" #ifndef WIN32 # define gzebra gzebra_ @@ -220,7 +227,6 @@ Introduction of the Copyright and cvs Log # define setbomb setbomb_ # define setclip setclip_ -# define gcomad gcomad_ # define gbrelm gbrelm_ # define gprelm gprelm_ @@ -319,7 +325,6 @@ Introduction of the Copyright and cvs Log # define setbomb SETBOMB # define setclip SETCLIP -# define gcomad GCOMAD # define gbrelm GBRELM # define gprelm GPRELM @@ -539,7 +544,6 @@ extern "C" void type_of_call setbomb(Float_t &); void type_of_call setclip(DEFCHARD, Float_t &,Float_t &,Float_t &,Float_t &, Float_t &, Float_t & DEFCHARL); - void type_of_call gcomad(DEFCHARD, Int_t*& DEFCHARL); void type_of_call ertrak(const Float_t *const x1, const Float_t *const p1, const Float_t *x2, const Float_t *p2, @@ -637,42 +641,74 @@ void TGeant3::LoadAddress() // Assigns the address of the GEANT common blocks to the structures // that allow their access from C++ // - Int_t *addr; - gcomad(PASSCHARD("QUEST"), (int*&) fQuest PASSCHARL("QUEST")); - gcomad(PASSCHARD("GCBANK"),(int*&) fGcbank PASSCHARL("GCBANK")); - gcomad(PASSCHARD("GCLINK"),(int*&) fGclink PASSCHARL("GCLINK")); - gcomad(PASSCHARD("GCCUTS"),(int*&) fGccuts PASSCHARL("GCCUTS")); - gcomad(PASSCHARD("GCMULO"),(int*&) fGcmulo PASSCHARL("GCMULO")); - gcomad(PASSCHARD("GCFLAG"),(int*&) fGcflag PASSCHARL("GCFLAG")); - gcomad(PASSCHARD("GCKINE"),(int*&) fGckine PASSCHARL("GCKINE")); - gcomad(PASSCHARD("GCKING"),(int*&) fGcking PASSCHARL("GCKING")); - gcomad(PASSCHARD("GCKIN2"),(int*&) fGckin2 PASSCHARL("GCKIN2")); - gcomad(PASSCHARD("GCKIN3"),(int*&) fGckin3 PASSCHARL("GCKIN3")); - gcomad(PASSCHARD("GCMATE"),(int*&) fGcmate PASSCHARL("GCMATE")); - gcomad(PASSCHARD("GCTMED"),(int*&) fGctmed PASSCHARL("GCTMED")); - gcomad(PASSCHARD("GCTRAK"),(int*&) fGctrak PASSCHARL("GCTRAK")); - gcomad(PASSCHARD("GCTPOL"),(int*&) fGctpol PASSCHARL("GCTPOL")); - gcomad(PASSCHARD("GCVOLU"),(int*&) fGcvolu PASSCHARL("GCVOLU")); - gcomad(PASSCHARD("GCNUM"), (int*&) fGcnum PASSCHARL("GCNUM")); - gcomad(PASSCHARD("GCSETS"),(int*&) fGcsets PASSCHARL("GCSETS")); - gcomad(PASSCHARD("GCPHYS"),(int*&) fGcphys PASSCHARL("GCPHYS")); - gcomad(PASSCHARD("GCPHLT"),(int*&) fGcphlt PASSCHARL("GCPHLT")); - gcomad(PASSCHARD("GCOPTI"),(int*&) fGcopti PASSCHARL("GCOPTI")); - gcomad(PASSCHARD("GCTLIT"),(int*&) fGctlit PASSCHARL("GCTLIT")); - gcomad(PASSCHARD("GCVDMA"),(int*&) fGcvdma PASSCHARL("GCVDMA")); - + void *handle = dlopen (NULL, RTLD_LAZY); + +#ifndef WIN32 + fQuest = (Quest_t *) dlsym(handle,"quest_"); + fGcbank = (Gcbank_t *) dlsym(handle,"gcbank_"); + fGclink = (Gclink_t *) dlsym(handle,"gclink_"); + fGccuts = (Gccuts_t *) dlsym(handle,"gccuts_"); + fGcmulo = (Gcmulo_t *) dlsym(handle,"gcmulo_"); + fGcflag = (Gcflag_t *) dlsym(handle,"gcflag_"); + fGckine = (Gckine_t *) dlsym(handle,"gckine_"); + fGcking = (Gcking_t *) dlsym(handle,"gcking_"); + fGckin2 = (Gckin2_t *) dlsym(handle,"gckin2_"); + fGckin3 = (Gckin3_t *) dlsym(handle,"gckin3_"); + fGcmate = (Gcmate_t *) dlsym(handle,"gcmate_"); + fGctmed = (Gctmed_t *) dlsym(handle,"gctmed_"); + fGctrak = (Gctrak_t *) dlsym(handle,"gctrak_"); + fGctpol = (Gctpol_t *) dlsym(handle,"gctpol_"); + fGcvolu = (Gcvolu_t *) dlsym(handle,"gcvolu_"); + fGcnum = (Gcnum_t *) dlsym(handle,"gcnum_"); + fGcsets = (Gcsets_t *) dlsym(handle,"gcsets_"); + fGcphys = (Gcphys_t *) dlsym(handle,"gcphys_"); + fGcphlt = (Gcphlt_t *) dlsym(handle,"gcphlt_"); + fGcopti = (Gcopti_t *) dlsym(handle,"gcopti_"); + fGctlit = (Gctlit_t *) dlsym(handle,"gctlit_"); + fGcvdma = (Gcvdma_t *) dlsym(handle,"gcvdma_"); + // Commons for GEANE - gcomad(PASSCHARD("ERTRIO"),(int*&) fErtrio PASSCHARL("ERTRIO")); - gcomad(PASSCHARD("EROPTS"),(int*&) fEropts PASSCHARL("EROPTS")); - gcomad(PASSCHARD("EROPTC"),(int*&) fEroptc PASSCHARL("EROPTC")); - gcomad(PASSCHARD("ERWORK"),(int*&) fErwork PASSCHARL("ERWORK")); - + fErtrio = (Ertrio_t *) dlsym(handle,"ertrio_"); + fEropts = (Eropts_t *) dlsym(handle,"eropts_"); + fEroptc = (Eroptc_t *) dlsym(handle,"eroptc_"); + fErwork = (Erwork_t *) dlsym(handle,"erwork_"); +#else + fQuest = (Quest_t *) dlsym(handle,"QUEST"); + fGcbank = (Gcbank_t *) dlsym(handle,"GCBANK"); + fGclink = (Gclink_t *) dlsym(handle,"GCLINK"); + fGccuts = (Gccuts_t *) dlsym(handle,"GCCUTS"); + fGcmulo = (Gcmulo_t *) dlsym(handle,"GCMULO"); + fGcflag = (Gcflag_t *) dlsym(handle,"GCFLAG"); + fGckine = (Gckine_t *) dlsym(handle,"GCKINE"); + fGcking = (Gcking_t *) dlsym(handle,"GCKING"); + fGckin2 = (Gckin2_t *) dlsym(handle,"GCKIN2"); + fGckin3 = (Gckin3_t *) dlsym(handle,"GCKIN3"); + fGcmate = (Gcmate_t *) dlsym(handle,"GCMATE"); + fGctmed = (Gctmed_t *) dlsym(handle,"GCTMED"); + fGctrak = (Gctrak_t *) dlsym(handle,"GCTRAK"); + fGctpol = (Gctpol_t *) dlsym(handle,"GCTPOL"); + fGcvolu = (Gcvolu_t *) dlsym(handle,"GCVOLU"); + fGcnum = (Gcnum_t *) dlsym(handle,"GCNUM"); + fGcsets = (Gcsets_t *) dlsym(handle,"GCSETS"); + fGcphys = (Gcphys_t *) dlsym(handle,"GCPHYS"); + fGcphlt = (Gcphlt_t *) dlsym(handle,"GCPHLT"); + fGcopti = (Gcopti_t *) dlsym(handle,"GCOPTI"); + fGctlit = (Gctlit_t *) dlsym(handle,"GCTLIT"); + fGcvdma = (Gcvdma_t *) dlsym(handle,"GCVDMA"); + + // Commons for GEANE + fErtrio = (Ertrio_t *) dlsym(handle,"ERTRIO"); + fEropts = (Eropts_t *) dlsym(handle,"EROPTS"); + fEroptc = (Eroptc_t *) dlsym(handle,"EROPTC"); + fErwork = (Erwork_t *) dlsym(handle,"ERWORK"); +#endif + // Variables for ZEBRA store - gcomad(PASSCHARD("IQ"), addr PASSCHARL("IQ")); - fZiq = addr; - gcomad(PASSCHARD("LQ"), addr PASSCHARL("LQ")); - fZlq = addr; - fZq = (float*)fZiq; + // + fZlq = (Int_t *) &(fGcbank->lmain)-1; + fZiq = (Int_t *) &(fGcbank->lmain)+7; + fZq = (Float_t *)fZiq; + } //_____________________________________________________________________________