dlsym not supported on HP, reverting to gcomad
authoralibrary <alibrary@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 20 Dec 2000 09:46:51 +0000 (09:46 +0000)
committeralibrary <alibrary@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 20 Dec 2000 09:46:51 +0000 (09:46 +0000)
GEANT321/comad/gcadd.cxx [new file with mode: 0644]
GEANT321/comad/gcomad.F [new file with mode: 0644]
TGeant3/TGeant3.cxx

diff --git a/GEANT321/comad/gcadd.cxx b/GEANT321/comad/gcadd.cxx
new file mode 100644 (file)
index 0000000..313dc3e
--- /dev/null
@@ -0,0 +1,58 @@
+/**************************************************************************
+ * 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$
+Revision 1.3  1999/09/29 09:24:14  fca
+Introduction of the Copyright and cvs 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
new file mode 100644 (file)
index 0000000..1512f25
--- /dev/null
@@ -0,0 +1,265 @@
+*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
index 8d3dc43f194049e61967f70322b0f586fed4f201..672bf187b16ad2ba1de93ca2d1a6d4cd6079e8e7 100644 (file)
@@ -15,6 +15,9 @@
 
 /*
 $Log$
+Revision 1.43  2000/12/20 08:39:39  fca
+Support for Cerenkov and process list in Virtual MC
+
 Revision 1.42  2000/12/19 08:37:48  alibrary
 Using dlsym to retrieve address of commons
 
@@ -123,7 +126,6 @@ Introduction of the Copyright and cvs Log
 //                                                                           //
 ///////////////////////////////////////////////////////////////////////////////
 
-#include "dlfcn.h"
 #include "ctype.h" 
 
 #include "TROOT.h" 
@@ -231,6 +233,7 @@ Introduction of the Copyright and cvs Log
  
 # define setbomb setbomb_
 # define setclip setclip_
+# define gcomad gcomad_
 
 # define gbrelm gbrelm_
 # define gprelm gprelm_
@@ -329,6 +332,7 @@ Introduction of the Copyright and cvs Log
  
 # define setbomb SETBOMB
 # define setclip SETCLIP
+# define gcomad  GCOMAD
  
 # define gbrelm GBRELM
 # define gprelm GPRELM
@@ -548,6 +552,7 @@ 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,
@@ -645,74 +650,42 @@ void TGeant3::LoadAddress()
   // Assigns the address of the GEANT common blocks to the structures
   // that allow their access from C++
   //
-  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
-  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
-  //
-  fZlq = (Int_t *) &(fGcbank->lmain)-1;
-  fZiq = (Int_t *) &(fGcbank->lmain)+7;
-  fZq  = (Float_t *)fZiq; 
-
+   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"));
+   
+   // 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"));
+
+   // Variables for ZEBRA store
+   gcomad(PASSCHARD("IQ"), addr  PASSCHARL("IQ"));
+   fZiq = addr;
+   gcomad(PASSCHARD("LQ"), addr  PASSCHARL("LQ"));
+   fZlq = addr;
+   fZq       = (float*)fZiq; 
 } 
 
 //_____________________________________________________________________________