/*-- FORTRAN section --*/
integer fgnfrgmsci ! number of fragments in scifi
integer fgfrgmprojsci ! projection (x=1,y=2) of fragment
real fgfrgmxyz0sci ! start position of fragment(1 : x or y, 2 : z)
real fgfrgmxyz1sci ! end position of fragment(1 : x or y, 2 : z)
integer fgnkinkfrgmsci ! number of kink in each fragment
integer fgncrsfrgmsci ! number of crossed fragments for each fragment
integer fgnfhitsci ! number of hits for each fragment
integer fgffcidsci ! hit(FiberCluster) ID for each fragment
real fgfhitwgtsci ! hit weight for each fragment
c...temporary
integer fgfhitidsci ! hit(hsci.inc) ID for each fragment
c
common / fgfragsci / fgnfrgmsci,fgfrgmprojsci(FGMXFGMSCI),
+ fgfrgmxyz0sci(2,FGMXFGMSCI),fgfrgmxyz1sci(2,FGMXFGMSCI),
+ fgnkinkfrgmsci(FGMXFGMSCI),fgncrsfrgmsci(FGMXFGMSCI),
+ fgnfhitsci(FGMXFGMSCI),
+ fgffcidsci(FGMXFHITSCI,FGMXFGMSCI),
+ fgfhitwgtsci(FGMXFHITSCI,FGMXFGMSCI),
c...temporary !
+ fgfhitidsci(FGMXFHITSCI,FGMXFGMSCI)
/*-- C section --*/
typedef struct
{ int nfrgm; /* number of fragments in scifi */
int proj[FGMXFGMSCI]; /* projection (x=1,y=2) of fragment */
float xyz0[FGMXFGMSCI][2]; /* start position of frgm.(1:x or y, 2:z) */
float xyz1[FGMXFGMSCI][2]; /* end position of frgm.(1:x or y, 2:z) */
int nkink[FGMXFGMSCI]; /* number of kink in each fragment */
int ncrsfrgm[FGMXFGMSCI]; /* number of crossed frgm.s for each fragment */
int nfc[FGMXFGMSCI]; /* number of FCs for each fragment */
int fcid[FGMXFGMSCI][FGMXFHITSCI]; /* FC id for each fragment */
float fcwgt[FGMXFGMSCI][FGMXFHITSCI]; /* hit weight for each fragment */
/* temporary */
int fhitid[FGMXFGMSCI][FGMXFHITSCI]; /* tracker internal
hit id for each fragment */
} FGFRAGSCI_COM;
#define FGFRAGSCI COMMON_BLOCK(FGFRAGSCI,fgfragsci)
COMMON_BLOCK_DEF(FGFRAGSCI_COM,FGFRAGSCI);