/*-- 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);