************************************************************************
*     ---------------------------------
      REAL FUNCTION COHCRSNEREIN(E,IPAR,IC)
*     ---------------------------------
*
*     (Purpose)
*       CROSS SECTION / O16 NUCLEUS ( 10**(-38) CM**2 )
*
*     (Input)
*       E     : INCIDENT NEUTRINO ENERGY ( GEV )
*       IPAR  : INCIDENT NEUTRINO ID
*       IC    : INTERACTION MODE
*                1 : C.C.
*                0 : N.C.
*     (Output)
*       COHCRSNE :  CROSS SECTION / O16 NUCLEUS ( 10**(-38) CM**2 )
*      
*     (Creation Date and Author)
*       1994.08.30 ; K.Okumura
*       1996.02.05 ; K.Kaneyuki   COHCRS -> COHCRSNE
*       1996.12.20 ; K.Okumura    add cross section from 100GeV to 1000GeV
*       2007.01.08 ; G.Mitsuka    Taking into account lepton mass in CC,
*                                 and rename into cohcrsnerein.F
*       2007.11.05 ; G.Mitsuka    support target nucleus besides 16O
*
*       2009.11.18 ; Y.Hayato     Recalculated with lepton mass corr.
*
*     (Comment)
*
************************************************************************

      IMPLICIT NONE
#include "necard.h"
      INTEGER IPAR,IC,I
      REAL E,WIDTH,EEND(2),SIGEND(2),SLOPE,ESTART
C     Charged Current
      REAL SIG1CCE(0:100),SIG2CCE(0:90),SIG3CCE(0:90),SIG4CCE(0:90)
      REAL SIG1CCM(0:100),SIG2CCM(0:90),SIG3CCM(0:90),SIG4CCM(0:90)
      REAL SIG1CCT(0:100),SIG2CCT(0:90),SIG3CCT(0:90),SIG4CCT(0:90)
      REAL S0CCE(50),S1CCE(50),S2CCE(50),S3CCE(40)
      REAL S4CCE(50),S5CCE(40),S6CCE(50),S7CCE(40)
      REAL S0CCM(50),S1CCM(50),S2CCM(50),S3CCM(40)
      REAL S4CCM(50),S5CCM(40),S6CCM(50),S7CCM(40)
      REAL S0CCT(50),S1CCT(50),S2CCT(50),S3CCT(40)
      REAL S4CCT(50),S5CCT(40),S6CCT(50),S7CCT(40)
C     Electron neutrino
      EQUIVALENCE (SIG2CCE(0),SIG1CCE(100))
      EQUIVALENCE (SIG3CCE(0),SIG2CCE(90))
      EQUIVALENCE (SIG4CCE(0),SIG3CCE(90))
      EQUIVALENCE (SIG1CCE(1), S0CCE(1))
      EQUIVALENCE (SIG1CCE(51),S1CCE(1))
      EQUIVALENCE (SIG2CCE(1), S2CCE(1))
      EQUIVALENCE (SIG2CCE(51),S3CCE(1))
      EQUIVALENCE (SIG3CCE(1), S4CCE(1))
      EQUIVALENCE (SIG3CCE(51),S5CCE(1))
      EQUIVALENCE (SIG4CCE(1), S6CCE(1))
      EQUIVALENCE (SIG4CCE(51),S7CCE(1))
C     Muon neutrino
      EQUIVALENCE (SIG2CCM(0),SIG1CCM(100))
      EQUIVALENCE (SIG3CCM(0),SIG2CCM(90))
      EQUIVALENCE (SIG4CCM(0),SIG3CCM(90))
      EQUIVALENCE (SIG1CCM(1), S0CCM(1))
      EQUIVALENCE (SIG1CCM(51),S1CCM(1))
      EQUIVALENCE (SIG2CCM(1), S2CCM(1))
      EQUIVALENCE (SIG2CCM(51),S3CCM(1))
      EQUIVALENCE (SIG3CCM(1), S4CCM(1))
      EQUIVALENCE (SIG3CCM(51),S5CCM(1))
      EQUIVALENCE (SIG4CCM(1), S6CCM(1))
      EQUIVALENCE (SIG4CCM(51),S7CCM(1))
C     Tau neutrino
      EQUIVALENCE (SIG2CCT(0),SIG1CCT(100))
      EQUIVALENCE (SIG3CCT(0),SIG2CCT(90))
      EQUIVALENCE (SIG4CCT(0),SIG3CCT(90))
      EQUIVALENCE (SIG1CCT(1), S0CCT(1))
      EQUIVALENCE (SIG1CCT(51),S1CCT(1))
      EQUIVALENCE (SIG2CCT(1), S2CCT(1))
      EQUIVALENCE (SIG2CCT(51),S3CCT(1))
      EQUIVALENCE (SIG3CCT(1), S4CCT(1))
      EQUIVALENCE (SIG3CCT(51),S5CCT(1))
      EQUIVALENCE (SIG4CCT(1), S6CCT(1))
      EQUIVALENCE (SIG4CCT(51),S7CCT(1))

      ! Neutral Current
      REAL SIG1NC(0:100),SIG2NC(0:90),SIG3NC(0:90),SIG4NC(0:90)
      REAL S0NC(50),S1NC(50),S2NC(50),S3NC(40)
      REAL S4NC(50),S5NC(40),S6NC(50),S7NC(40)
      EQUIVALENCE (SIG2NC(0),SIG1NC(100))
      EQUIVALENCE (SIG3NC(0),SIG2NC(90))
      EQUIVALENCE (SIG4NC(0),SIG3NC(90))
      EQUIVALENCE (SIG1NC(1), S0NC(1))
      EQUIVALENCE (SIG1NC(51),S1NC(1))
      EQUIVALENCE (SIG2NC(1), S2NC(1))
      EQUIVALENCE (SIG2NC(51),S3NC(1))
      EQUIVALENCE (SIG3NC(1), S4NC(1))
      EQUIVALENCE (SIG3NC(51),S5NC(1))
      EQUIVALENCE (SIG4NC(1), S6NC(1))
      EQUIVALENCE (SIG4NC(51),S7NC(1))

C     Table below assumes 16O nuclei, for other nuclei     
C     ScalingFactor:(msss#/16)^(1/3) should be applied
      real ScalingFactor

C     Charged Current
C     ===============
C     Electron neutrino
C
C     0 - 1GeV
C
      DATA S0CCE/0.0000000,0.0000000,0.0000000,0.0000000,0.0000000,
     &  0.0000000,  0.0000000,  0.0000000,  0.0000000,  0.0000000,
     &  0.0000000,  0.0000000,  0.0000000,  0.0000000,  0.0000000,
     &  0.0000000,  0.0000000,  0.0000000,  0.0000000,  0.0000000,
     &  0.0000000,  0.0000000,  0.0000000,  0.0102319,  0.0135182,
     &  0.0173191,  0.0216292,  0.0264225,  0.0316233,  0.0371250,
     &  0.0428197,  0.0486147,  0.0544484,  0.0602794,  0.0660954,
     &  0.0718940,  0.0776618,  0.0834538,  0.0892172,  0.0949667,
     &  0.1006930,  0.1063760,  0.1119930,  0.1175180,  0.1229260,
     &  0.1282020,  0.1333450,  0.1383600,  0.1432850,  0.1481270/

      DATA S1CCE/0.1529090,0.1576700,0.1624220,0.1671910,0.1720000,
     &  0.1768710,  0.1818210,  0.1868290,  0.1919000,  0.1970760,
     &  0.2021900,  0.2073650,  0.2125210,  0.2176610,  0.2227560,
     &  0.2278040,  0.2327900,  0.2377110,  0.2425490,  0.2473150,
     &  0.2519760,  0.2565760,  0.2610620,  0.2654730,  0.2697830,
     &  0.2740090,  0.2781640,  0.2822310,  0.2862290,  0.2901590,
     &  0.2940070,  0.2978240,  0.3015540,  0.3052600,  0.3088760,
     &  0.3124440,  0.3159610,  0.3194100,  0.3228330,  0.3261800,
     &  0.3294830,  0.3327360,  0.3359340,  0.3390880,  0.3421920,
     &  0.3452540,  0.3482700,  0.3512210,  0.3541560,  0.3570320/
C      
C     1 - 10GeV
C
      DATA S2CCE/0.3839890,0.4082430,0.4303150,0.4504840,0.4691990,
     &  0.4868160,  0.5034760,  0.5192990,  0.5344250,  0.5489390,
     &  0.5628790,  0.5762960,  0.5891350,  0.6016610,  0.6136980,
     &  0.6254690,  0.6369050,  0.6480980,  0.6590440,  0.6697430,
     &  0.6801570,  0.6903860,  0.7003710,  0.7100810,  0.7196800,
     &  0.7290160,  0.7381750,  0.7471730,  0.7559680,  0.7645770,
     &  0.7729650,  0.7811870,  0.7892610,  0.7971390,  0.8048940,
     &  0.8125810,  0.8199410,  0.8271780,  0.8343330,  0.8413640,
     &  0.8481760,  0.8549350,  0.8614550,  0.8679980,  0.8743910,
     &  0.8806130,  0.8866540,  0.8927210,  0.8985770,  0.9043580/

      DATA S3CCE/0.9100100,0.9155420,0.9211050,0.9264120,0.9317080,
     &  0.9368700,  0.9419880,  0.9469290,  0.9518180,  0.9567850,
     &  0.9614020,  0.9660520,  0.9708360,  0.9753640,  0.9799090,
     &  0.9841900,  0.9886330,  0.9927880,  0.9970970,  1.0011300,
     &  1.0053300,  1.0091500,  1.0132900,  1.0169900,  1.0210000,
     &  1.0247500,  1.0283800,  1.0322200,  1.0358800,  1.0395900,
     &  1.0429000,  1.0464600,  1.0498900,  1.0533800,  1.0568000,
     &  1.0596400,  1.0632500,  1.0664500,  1.0698800,  1.0729600/
C
C     10 - 100GeV
C
      DATA S4CCE/1.1028000,1.1290200,1.1534300,1.1753100,1.1952700,
     &  1.2138600,  1.2311100,  1.2469500,  1.2614400,  1.2761800,
     &  1.2889000,  1.3019100,  1.3137800,  1.3249200,  1.3353700,
     &  1.3455800,  1.3560500,  1.3650000,  1.3744500,  1.3830500,
     &  1.3915500,  1.3995800,  1.4062900,  1.4141500,  1.4218500,
     &  1.4282600,  1.4351700,  1.4413200,  1.4484300,  1.4550100,
     &  1.4607700,  1.4668400,  1.4724500,  1.4781200,  1.4836800,
     &  1.4889500,  1.4940500,  1.4992500,  1.5040800,  1.5083800,
     &  1.5137700,  1.5176600,  1.5228600,  1.5267000,  1.5317400,
     &  1.5354700,  1.5397400,  1.5441500,  1.5478400,  1.5520700/

      DATA S5CCE/1.5559700,1.5596700,1.5628500,1.5665200,1.5700700,
     &  1.5728300,  1.5771300,  1.5802300,  1.5838000,  1.5873700,
     &  1.5907100,  1.5933700,  1.5964500,  1.5998500,  1.6029700,
     &  1.6055800,  1.6088600,  1.6123000,  1.6151600,  1.6182500,
     &  1.6209600,  1.6237200,  1.6261900,  1.6293800,  1.6320200,
     &  1.6347700,  1.6374500,  1.6399600,  1.6425500,  1.6450900,
     &  1.6475000,  1.6500900,  1.6525900,  1.6549900,  1.6573300,
     &  1.6597000,  1.6619700,  1.6643100,  1.6660700,  1.6682900/
C
C     100 - 1000GeV
C      
      DATA S6CCE/1.6900600,1.7093200,1.7270000,1.7432800,1.7577400,
     &  1.7718500,  1.7851900,  1.7977600,  1.8094000,  1.8202600,
     &  1.8309100,  1.8408400,  1.8502200,  1.8593500,  1.8681400,
     &  1.8765700,  1.8846800,  1.8924400,  1.8997200,  1.9068300,
     &  1.9084900,  1.9153400,  1.9218200,  1.9149000,  1.9206000,
     &  1.9267700,  1.9323600,  1.8835100,  1.8891600,  1.8933400,
     &  1.8990600,  1.9043300,  1.9093000,  1.9142900,  1.9189600,
     &  1.9237500,  1.9280100,  1.9324700,  1.9369800,  1.9411900,
     &  1.9455000,  1.9496000,  1.9534600,  1.9575300,  1.9610400,
     &  1.9648800,  1.9684400,  1.9716100,  1.9752800,  1.9789300/

       DATA S7CCE/1.9822300,1.9856600,1.9893200,1.9925300,1.9958400,
     &  1.9989500,  2.0021500,  2.0051500,  2.0082200,  2.0110400,
     &  2.0140400,  2.0170100,  2.0197500,  2.0219800,  2.0247800,
     &  2.0275600,  2.0301900,  2.0330700,  2.0353600,  2.0379400,
     &  2.0407300,  2.0432300,  2.0453000,  2.0482500,  2.0505900,
     &  2.0529300,  2.0553500,  2.0577900,  2.0393100,  2.0415300,
     &  2.0438300,  2.0460800,  2.0483200,  2.0505700,  2.0527600,
     &  2.0548800,  2.0570100,  2.0338500,  2.0359100,  2.0378500/
C
C     Muon neutrino
C
C     0 - 1GeV
C
       DATA S0CCM/0.0000000,0.0000000,0.0000000,0.0000000,0.0000000,
     &  0.0000000,  0.0000000,  0.0000000,  0.0000000,  0.0000000,
     &  0.0000000,  0.0000000,  0.0000000,  0.0000000,  0.0000000,
     &  0.0000000,  0.0000000,  0.0000000,  0.0000000,  0.0000000,
     &  0.0000000,  0.0000000,  0.0000000,  0.0000000,  0.0000000,
     &  0.0000000,  0.0000000,  0.0000000,  0.0000000,  0.0000000,
     &  0.0000000,  0.0104999,  0.0135539,  0.0169846,  0.0207814,
     &  0.0249339,  0.0294296,  0.0340089,  0.0384062,  0.0427033,
     &  0.0469679,  0.0512463,  0.0555801,  0.0599972,  0.0644977,
     &  0.0690274,  0.0735801,  0.0781493,  0.0827256,  0.0872946/
       
       DATA S1CCM/0.0917908,0.0961985,0.1005130,0.1047100,0.1088110,
     &  0.1128960,  0.1169770,  0.1210630,  0.1251690,  0.1292960,
     &  0.1334610,  0.1376730,  0.1419400,  0.1462780,  0.1506940,
     &  0.1551940,  0.1597180,  0.1642370,  0.1687430,  0.1732320,
     &  0.1776960,  0.1821400,  0.1865430,  0.1909150,  0.1952420,
     &  0.1995250,  0.2037570,  0.2079360,  0.2120540,  0.2161240,
     &  0.2201250,  0.2240630,  0.2279540,  0.2317980,  0.2356010,
     &  0.2393410,  0.2430440,  0.2467050,  0.2503260,  0.2538990,
     &  0.2574240,  0.2609140,  0.2643620,  0.2677650,  0.2711270,
     &  0.2744360,  0.2777050,  0.2809280,  0.2841210,  0.2872810/
C      
C     1 - 10GeV
C       
       DATA S2CCM/0.3167540,0.3431640,0.3672330,0.3893020,0.4096270,
     &  0.4286540,  0.4465480,  0.4634910,  0.4795860,  0.4950140,
     &  0.5097660,  0.5239240,  0.5375750,  0.5507280,  0.5634190,
     &  0.5757300,  0.5877670,  0.5993690,  0.6106530,  0.6218460,
     &  0.6326880,  0.6432290,  0.6535940,  0.6637450,  0.6735830,
     &  0.6831660,  0.6926860,  0.7020340,  0.7111310,  0.7199480,
     &  0.7286100,  0.7370640,  0.7454400,  0.7536100,  0.7616460,
     &  0.7694710,  0.7771300,  0.7846440,  0.7920060,  0.7991900,
     &  0.8062840,  0.8132890,  0.8200810,  0.8267300,  0.8332210,
     &  0.8396100,  0.8459380,  0.8522020,  0.8582860,  0.8642510/
       
       DATA S3CCM/0.8700690,0.8757860,0.8815060,0.8870920,0.8925760,
     &  0.8979100,  0.9031390,  0.9082840,  0.9133050,  0.9182600,
     &  0.9231670,  0.9280160,  0.9328050,  0.9375170,  0.9421300,
     &  0.9466390,  0.9510790,  0.9554790,  0.9597730,  0.9640010,
     &  0.9681160,  0.9722340,  0.9762910,  0.9803410,  0.9843280,
     &  0.9882190,  0.9920880,  0.9959020,  0.9996220,  1.0033100,
     &  1.0069500,  1.0105600,  1.0141000,  1.0175800,  1.0210300,
     &  1.0243000,  1.0278100,  1.0311500,  1.0344400,  1.0376700/
C      
C     10 - 100GeV
C      
       DATA S4CCM/1.0680500,1.0954000,1.1203000,1.1426200,1.1631900,
     &  1.1821000,  1.1996800,  1.1604300,  1.1754000,  1.1900800,
     &  1.0688200,  1.0819200,  1.0945000,  1.1062300,  1.1177100,
     &  1.1284000,  1.1389400,  1.1487600,  1.1582900,  1.1674300,
     &  1.1612900,  1.1848300,  1.1777100,  1.1857300,  1.1934900,
     &  1.2008500,  1.2080900,  1.2146900,  1.2217600,  1.2283500,
     &  1.2347200,  1.2409700,  1.2469500,  1.2529000,  1.2586800,
     &  1.2642800,  1.2696900,  1.2751300,  1.2802900,  1.2853500,
     &  1.2906200,  1.2952300,  1.3002400,  1.3048500,  1.3095700,
     &  1.3139300,  1.3183400,  1.3227600,  1.3270300,  1.3311900/

       DATA S5CCM/1.3353600,1.3392800,1.3432600,1.3471200,1.3508900,
     &  1.3543700,  1.3583100,  1.3620000,  1.3656200,  1.3690900,
     &  1.3725700,  1.3758400,  1.3793400,  1.3825400,  1.3857000,
     &  1.3886300,  1.3918900,  1.3952500,  1.3982100,  1.4013600,
     &  1.4042900,  1.4072200,  1.4100100,  1.4129900,  1.4157600,
     &  1.4185900,  1.4213600,  1.4241200,  1.4268200,  1.4294100,
     &  1.2846000,  1.2873200,  1.4373000,  1.4397800,  1.4422300,
     &  1.4447600,  1.4471000,  1.3908900,  1.3930900,  1.3955900/
C      
C     100 - 1000GeV
C
       DATA S6CCM/1.4185200,1.4390300,1.3714300,1.3892200,1.4056200,
     &  1.4208100,  1.4350200,  1.5329500,  1.5453900,  1.5567800,
     &  1.5680000,  1.5785200,  1.5515200,  1.5611500,  1.5240500,
     &  1.5329800,  1.5415100,  1.5497800,  1.5576900,  1.5653200,
     &  1.5726200,  1.5797600,  1.5866500,  1.5932900,  1.5994400,
     &  1.6058400,  1.6119800,  1.6180000,  1.6238000,  1.6288900,
     &  1.6346400,  1.6399900,  1.6452800,  1.6503500,  1.6552700,
     &  1.6601000,  1.6645600,  1.6692100,  1.6738300,  1.6782100,
     &  1.6826000,  1.6868700,  1.6909800,  1.6951200,  1.6990300,
     &  1.7030400,  1.7069300,  1.6831800,  1.6869700,  1.6906800/
       DATA S7CCM/1.6942600,1.6978100,1.7014200,1.7048000,1.7081500,
     &  1.7115000,  1.7148000,  1.7179000,  1.7481000,  1.7511300,
     &  1.7542200,  1.7571900,  1.7601900,  1.7625800,  1.7654800,
     &  1.7685100,  1.7712300,  1.7741700,  1.7767700,  1.7795000,
     &  1.7823000,  1.7849500,  1.7873200,  1.7901200,  1.6503200,
     &  1.6528900,  1.6553600,  1.6579300,  1.6604400,  1.6628400,
     &  1.6652500,  1.6676600,  1.6700100,  1.6723900,  1.6746700,
     &  1.6769400,  1.6791300,  1.6814400,  1.6836600,  1.6857500/
C
C     Tau neitrino
C
C     0 - 1GeV
C
       DATA S0CCT/0.0000000,0.0000000,0.0000000,0.0000000,0.0000000,
     &  0.0000000,  0.0000000,  0.0000000,  0.0000000,  0.0000000,
     &  0.0000000,  0.0000000,  0.0000000,  0.0000000,  0.0000000,
     &  0.0000000,  0.0000000,  0.0000000,  0.0000000,  0.0000000,
     &  0.0000000,  0.0000000,  0.0000000,  0.0000000,  0.0000000,
     &  0.0000000,  0.0000000,  0.0000000,  0.0000000,  0.0000000,
     &  0.0000000,  0.0000000,  0.0000000,  0.0000000,  0.0000000,
     &  0.0000000,  0.0000000,  0.0000000,  0.0000000,  0.0000000,
     &  0.0000000,  0.0000000,  0.0000000,  0.0000000,  0.0000000,
     &  0.0000000,  0.0000000,  0.0000000,  0.0000000,  0.0000000/
       DATA S1CCT/0.0000000,0.0000000,0.0000000,0.0000000,0.0000000,
     &  0.0000000,  0.0000000,  0.0000000,  0.0000000,  0.0000000,
     &  0.0000000,  0.0000000,  0.0000000,  0.0000000,  0.0000000,
     &  0.0000000,  0.0000000,  0.0000000,  0.0000000,  0.0000000,
     &  0.0000000,  0.0000000,  0.0000000,  0.0000000,  0.0000000,
     &  0.0000000,  0.0000000,  0.0000000,  0.0000000,  0.0000000,
     &  0.0000000,  0.0000000,  0.0000000,  0.0000000,  0.0000000,
     &  0.0000000,  0.0000000,  0.0000000,  0.0000000,  0.0000000,
     &  0.0000000,  0.0000000,  0.0000000,  0.0000000,  0.0000000,
     &  0.0000000,  0.0000000,  0.0000000,  0.0000000,  0.0000000/
C
C     1 - 10GeV
C      
       DATA S2CCT/0.0000000,0.0000000,0.0000000,0.0000000,0.0000000,
     &  0.0000000,  0.0000000,  0.0000000,  0.0000000,  0.0000000,
     &  0.0000000,  0.0000001,  0.0000002,  0.0000003,  0.0000006,
     &  0.0000009,  0.0000016,  0.0000025,  0.0000038,  0.0000057,
     &  0.0000083,  0.0000118,  0.0000163,  0.0000223,  0.0000299,
     &  0.0000394,  0.0000513,  0.0000657,  0.0000833,  0.0001042,
     &  0.0001291,  0.0001584,  0.0001925,  0.0002319,  0.0002771,
     &  0.0003287,  0.0003871,  0.0004529,  0.0005266,  0.0006087,
     &  0.0006996,  0.0008000,  0.0009103,  0.0010308,  0.0011623,
     &  0.0013050,  0.0014594,  0.0016258,  0.0018047,  0.0019964/

       DATA S3CCT/0.0022014,0.0024198,0.0026518,0.0028980,0.0031583,
     &  0.0034334,  0.0037229,  0.0040272,  0.0043468,  0.0046816,
     &  0.0050314,  0.0053968,  0.0057775,  0.0061733,  0.0065857,
     &  0.0070130,  0.0074556,  0.0079137,  0.0083874,  0.0088766,
     &  0.0093812,  0.0099009,  0.0104356,  0.0109858,  0.0115504,
     &  0.0121305,  0.0127248,  0.0133342,  0.0139578,  0.0145954,
     &  0.0152476,  0.0159135,  0.0165934,  0.0172861,  0.0179932,
     &  0.0187136,  0.0194461,  0.0201920,  0.0209511,  0.0217215/
C
C     10 - 100GeV
C
       DATA S4CCT/0.0300720,0.0394410,0.0496344,0.0602737,0.0717838,
     &  0.0834519,  0.0953558,  0.1074130,  0.1195410,  0.1316860,
     &  0.1437870,  0.1558270,  0.1674300,  0.1795660,  0.1908760,
     &  0.2023680,  0.2136930,  0.2248270,  0.2357940,  0.2465530,
     &  0.2571290,  0.2675110,  0.2776970,  0.2876940,  0.2978810,
     &  0.3075210,  0.3169590,  0.3262140,  0.3353390,  0.3442410,
     &  0.3529850,  0.3615700,  0.3696550,  0.3779060,  0.3860630,
     &  0.3939890,  0.4018310,  0.4094900,  0.4170710,  0.4244400,
     &  0.4317580,  0.4388880,  0.4459050,  0.4528140,  0.4596320,
     &  0.4663060,  0.4728280,  0.4793210,  0.4856750,  0.4919620/
       
       DATA S5CCT/0.4981250,0.5041440,0.5101100,0.5159390,0.5217140,
     &  0.5274190,  0.5329670,  0.5385140,  0.5439420,  0.5493240,
     &  0.5546390,  0.5598150,  0.5649580,  0.5699930,  0.5749660,
     &  0.5798900,  0.5848370,  0.5896100,  0.5942450,  0.5989350,
     &  0.6035350,  0.6080740,  0.6125750,  0.6169040,  0.6213490,
     &  0.6256320,  0.6299500,  0.6340670,  0.6383770,  0.6424180,
     &  0.6464290,  0.6503940,  0.6543930,  0.6583480,  0.6622930,
     &  0.6660330,  0.6697170,  0.6735740,  0.6772440,  0.6808560/
C
C     100 - 1000GeV
C
       DATA S6CCT/0.7154100,0.7465520,0.7748840,0.8008160,0.8247400,
     &  0.8467920,  0.8674900,  0.8726580,  0.8908260,  0.9076230,
     &  0.9237840,  0.9388910,  0.9532040,  0.9668460,  0.9798080,
     &  0.9923010,  1.0041000,  1.0154900,  1.0263800,  1.0368700,
     &  1.0466800,  1.0564300,  1.0659800,  1.0749300,  1.0835300,
     &  1.0919400,  1.1000200,  1.1080000,  1.1158500,  1.1230000,
     &  1.1303900,  1.1373200,  1.1441700,  1.1507900,  1.1572000,
     &  1.1635400,  1.1697100,  1.1756300,  1.1814800,  1.1872100,
     &  1.1928100,  1.1983400,  1.2036100,  1.2088700,  1.2137300,
     &  1.1717100,  1.1765300,  1.1814800,  1.1861300,  1.1909900/

       DATA S7CCT/1.1954100,1.1998000,1.2043800,1.2555800,1.2598400,
     &  1.2641000,  1.2679600,  1.2720500,  1.2761500,  1.2799000,
     &  1.2371300,  1.2407400,  1.2444600,  1.2480100,  1.2515500,
     &  1.2552300,  1.2588300,  1.2624300,  1.2656300,  1.2688700,
     &  1.2722000,  1.2756100,  1.2786000,  1.2818200,  1.2849600,
     &  1.2880900,  1.2911100,  1.2941700,  1.2972300,  1.3000400,
     &  1.3028900,  1.3058000,  1.3086200,  1.3113800,  1.3140500,
     &  1.3167900,  1.3195200,  1.3221500,  1.3249500,  1.3274400/
C
C     Neutral current
C     ===============
C     0 - 1GeV
C      
       DATA S0NC/0.0000000,0.0000000,0.0000000,0.0000000,0.0000000,
     &  0.0000000,  0.0000000,  0.0000000,  0.0000000,  0.0000000,
     &  0.0000000,  0.0000000,  0.0000000,  0.0000000,  0.0000030,
     &  0.0000254,  0.0000994,  0.0002651,  0.0005634,  0.0010318,
     &  0.0017010,  0.0025947,  0.0037297,  0.0051164,  0.0067596,
     &  0.0086601,  0.0108151,  0.0132183,  0.0158113,  0.0185639,
     &  0.0214115,  0.0243093,  0.0272226,  0.0301395,  0.0330483,
     &  0.0359351,  0.0388348,  0.0417289,  0.0446113,  0.0474870,
     &  0.0503458,  0.0531880,  0.0559953,  0.0587621,  0.0614653,
     &  0.0641065,  0.0666754,  0.0691823,  0.0716441,  0.0740661/
       
       DATA S1NC/0.0764854,0.0788355,0.0812152,0.0835946,0.0860021,
     &  0.0884375,  0.0909085,  0.0933962,  0.0959556,  0.0985392,
     &  0.1010990,  0.1036850,  0.1062660,  0.1088330,  0.1113880,
     &  0.1139040,  0.1164010,  0.1188560,  0.1212780,  0.1236570,
     &  0.1259920,  0.1282890,  0.1305350,  0.1327380,  0.1348930,
     &  0.1370310,  0.1390830,  0.1411160,  0.1431160,  0.1450810,
     &  0.1470050,  0.1489150,  0.1507790,  0.1526320,  0.1544390,
     &  0.1562240,  0.1579820,  0.1597060,  0.1614170,  0.1630920,
     &  0.1647430,  0.1663690,  0.1679690,  0.1695450,  0.1710970,
     &  0.1726270,  0.1741340,  0.1756140,  0.1770820,  0.1785180/
C            
C     1 - 10GeV
C      
       DATA S2NC/0.1919950,0.2041250,0.2151580,0.2252430,0.2345970,
     &  0.2434080,  0.2517380,  0.2596500,  0.2672110,  0.2744700,
     &  0.2814400,  0.2881480,  0.2945670,  0.3008310,  0.3068500,
     &  0.3127340,  0.3184530,  0.3240490,  0.3295220,  0.3348720,
     &  0.3400790,  0.3451940,  0.3501860,  0.3550410,  0.3598400,
     &  0.3645080,  0.3690880,  0.3735880,  0.3779870,  0.3822890,
     &  0.3864850,  0.3905960,  0.3946300,  0.3985700,  0.4024470,
     &  0.4062920,  0.4099750,  0.4135910,  0.4171680,  0.4206820,
     &  0.4240890,  0.4274680,  0.4307280,  0.4340000,  0.4371960,
     &  0.4403070,  0.4433280,  0.4463610,  0.4492890,  0.4521800/
       DATA S3NC/0.4550060,0.4577710,0.4605540,0.4632060,0.4658550,
     &  0.4684350,  0.4709960,  0.4734640,  0.4759090,  0.4783940,
     &  0.4807010,  0.4830260,  0.4854190,  0.4876830,  0.4899550,
     &  0.4920960,  0.4943170,  0.4963940,  0.4985500,  0.5005630,
     &  0.5026660,  0.5045740,  0.5066480,  0.5084940,  0.5105000,
     &  0.5123760,  0.5141930,  0.5161110,  0.5179420,  0.5197990,
     &  0.5214510,  0.5232300,  0.5249460,  0.5266930,  0.5284030,
     &  0.5298190,  0.5316250,  0.5332260,  0.5349400,  0.5364830/
C
C     10 - 100GeV
C
       DATA S4NC/0.5513980,0.5644940,0.5767140,0.5876540,0.5976370,
     &  0.6069330,  0.6155560,  0.6234690,  0.6307210,  0.6380920,
     &  0.6444520,  0.6509550,  0.6568930,  0.6624580,  0.6676830,
     &  0.6727890,  0.6780250,  0.6824990,  0.6872230,  0.6915230,
     &  0.6957730,  0.6997900,  0.7031440,  0.7070780,  0.7109230,
     &  0.7141320,  0.7175880,  0.7206580,  0.7242150,  0.7275040,
     &  0.7303840,  0.7334180,  0.7362230,  0.7390580,  0.7418380,
     &  0.7444750,  0.7470250,  0.7496230,  0.7520420,  0.7541890,
     &  0.7568840,  0.7588290,  0.7614310,  0.7633480,  0.7658710,
     &  0.7677360,  0.7698670,  0.7720780,  0.7739160,  0.7760360/
       DATA S5NC/0.7779830,0.7798350,0.7814260,0.7832610,0.7850370,
     &  0.7864160,  0.7885610,  0.7901170,  0.7918990,  0.7936860,
     &  0.7953540,  0.7966850,  0.7982240,  0.7999240,  0.8014840,
     &  0.8027920,  0.8044320,  0.8061520,  0.8075780,  0.8091240,
     &  0.8104810,  0.8118550,  0.8130960,  0.8146910,  0.8160110,
     &  0.8173850,  0.8187230,  0.8199810,  0.8212760,  0.8225430,
     &  0.8237500,  0.8250440,  0.8262960,  0.8274930,  0.8286650,
     &  0.8298510,  0.8309840,  0.8321550,  0.8330350,  0.8341470/
C            
C     100 - 1000GeV
C      
       DATA S6NC/0.8450270,0.8546620,0.8635020,0.8716400,0.8788670,
     &  0.8859240,  0.8925960,  0.8988780,  0.9047000,  0.9101300,
     &  0.9154530,  0.9204210,  0.9251090,  0.9296730,  0.9340700,
     &  0.9382850,  0.9423400,  0.9462180,  0.9498570,  0.9534130,
     &  0.9542480,  0.9576710,  0.9609110,  0.9574470,  0.9602980,
     &  0.9633880,  0.9661800,  0.9417560,  0.9445800,  0.9466700,
     &  0.9495280,  0.9521650,  0.9546520,  0.9571460,  0.9594820,
     &  0.9618770,  0.9640060,  0.9662340,  0.9684890,  0.9705960,
     &  0.9727490,  0.9748020,  0.9767310,  0.9787630,  0.9805200,
     &  0.9824390,  0.9842190,  0.9858080,  0.9876400,  0.9894670/
       DATA S7NC/0.9911140,0.9928300,0.9946590,0.9962650,0.9979210,
     &  0.9994750,  1.0010700,  1.0025700,  1.0041100,  1.0055200,
     &  1.0070200,  1.0085000,  1.0098800,  1.0109900,  1.0123900,
     &  1.0137800,  1.0150900,  1.0165400,  1.0176800,  1.0189700,
     &  1.0203600,  1.0216100,  1.0226500,  1.0241300,  1.0252900,
     &  1.0264600,  1.0276700,  1.0288900,  1.0196600,  1.0207600,
     &  1.0219100,  1.0230400,  1.0241600,  1.0252800,  1.0263800,
     &  1.0274400,  1.0285100,  1.0169200,  1.0179500,  1.0189200/

      real*4 ecvtbl(51),crsmart(51),crsrs(51)
      
      data ecvtbl/0.0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,
     $            1.0,1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8,1.9,
     $            2.0,2.1,2.2,2.3,2.4,2.5,2.6,2.7,2.8,2.9,
     $            3.0,3.1,3.2,3.3,3.4,3.5,3.6,3.7,3.8,3.9,
     $            4.0,4.1,4.2,4.3,4.4,4.5,4.6,4.7,4.8,4.9,5.0/

      data crsmart/0.0,0.0,0.0,0.0,0.0167,0.0489,0.0815,0.1127,0.1506,
     $ 0.1880,0.2229,0.2512,0.2830,0.3135,0.3334,0.3782,0.4050,0.4335,
     $ 0.4486,0.4721,0.4885,0.5142,0.5230,0.5467,0.5542,0.5696,0.5853,
     $ 0.5954,0.6015,0.6119,0.6224,0.6374,0.6418,0.6462,0.6506,0.6550,
     $ 0.6615,0.6679,0.6743,0.6807,0.6871,0.6919,0.6967,0.7014,0.7062,
     $ 0.7110,0.7159,0.7208,0.7258,0.7307,0.7356/
      
      data crsrs/0.0,0.00000,0.00000,0.03435,0.09210,0.14570,0.19446,
     $0.24492,0.28821,0.32446,0.35560,0.37092,0.39648,0.41947,0.44043,
     $0.45992,0.47812,0.49501,0.51175,0.52668,0.54196,0.55593,0.56916,
     $0.58207,0.59565,0.60761,0.61888,0.62966,0.64189,0.65381,0.66427,
     $0.67351,0.68398,0.69312,0.70294,0.71363,0.72541,0.73382,0.73998,
     $0.74900,0.75598,0.76388,0.77170,0.78064,0.79077,0.80010,0.80881,
     $0.81511,0.81917,0.82684,0.83405/

      SIG1CCE(0) = 0.
      SIG1CCM(0) = 0.
      SIG1CCT(0) = 0.
      SIG1NC(0) = 0.

C     
C       DETERMINE COHCRS VALUE
C

C       ENERGY FROM 0GEV 1GEV  ( 0.01GEV/BIN )

      IF (E.LT.1.0) THEN
         WIDTH = 0.01
         I = INT(E/WIDTH)
         IF (I.GE.100) I=99
         if(IC.eq.1) then
            if(abs(IPAR).eq.12) then
               SIGEND(1) = SIG1CCE(I)
               SIGEND(2) = SIG1CCE(I+1)
            elseif(abs(IPAR).eq.14) then
               SIGEND(1) = SIG1CCM(I)
               SIGEND(2) = SIG1CCM(I+1)
            elseif(abs(IPAR).eq.16) then
               SIGEND(1) = SIG1CCT(I)
               SIGEND(2) = SIG1CCT(I+1)
            endif
         else
            SIGEND(1) = SIG1NC(I)
            SIGEND(2) = SIG1NC(I+1)
         endif
         EEND(1) = FLOAT(I)*WIDTH
         EEND(2) = FLOAT(I+1)*WIDTH

C       ENERGY FROM 1GEV TO 10GEV  ( 0.1GEV/BIN )

      ELSE IF (E.LT.10.0E0) THEN
         ESTART = 1.
         WIDTH = 0.1
         I = INT((E-ESTART)/WIDTH)
         IF (I.GE.90) I=89
         if(IC.eq.1) then
            if(abs(IPAR).eq.12) then
               SIGEND(1) = SIG2CCE(I)
               SIGEND(2) = SIG2CCE(I+1)
            elseif(abs(IPAR).eq.14) then
               SIGEND(1) = SIG2CCM(I)
               SIGEND(2) = SIG2CCM(I+1)
            elseif(abs(IPAR).eq.16) then
               SIGEND(1) = SIG2CCT(I)
               SIGEND(2) = SIG2CCT(I+1)
            endif
         else
            SIGEND(1) = SIG2NC(I)
            SIGEND(2) = SIG2NC(I+1)
         endif
         EEND(1) = FLOAT(I)*WIDTH+ESTART
         EEND(2) = FLOAT(I+1)*WIDTH+ESTART

C       ENERGY FROM 10GEV TO 100GEV  ( 1GEV/BIN )

      ELSE IF (E.LT.100.0E0) THEN
         ESTART = 10.
         WIDTH = 1.
         I = INT((E-ESTART)/WIDTH)
         IF (I.GE.90) I=89
         if(IC.eq.1) then
            if(abs(IPAR).eq.12) then
               SIGEND(1) = SIG3CCE(I)
               SIGEND(2) = SIG3CCE(I+1)
            elseif(abs(IPAR).eq.14) then
               SIGEND(1) = SIG3CCM(I)
               SIGEND(2) = SIG3CCM(I+1)
            elseif(abs(IPAR).eq.16) then
               SIGEND(1) = SIG3CCT(I)
               SIGEND(2) = SIG3CCT(I+1)
            endif
         else
            SIGEND(1) = SIG3NC(I)
            SIGEND(2) = SIG3NC(I+1)
         endif
         EEND(1) = FLOAT(I)*WIDTH+ESTART
         EEND(2) = FLOAT(I+1)*WIDTH+ESTART

C       ENERGY FROM 100GEV TO 1000GEV  ( 10GEV/BIN )

      ELSE IF (E.LT.1000.0E0) THEN  
         ESTART = 100.
         WIDTH = 10.
         I = INT((E-ESTART)/WIDTH)
         IF (I.GE.90) I=89
         if(IC.eq.1) then
            if(abs(IPAR).eq.12) then
               SIGEND(1) = SIG4CCE(I)
               SIGEND(2) = SIG4CCE(I+1)
            elseif(abs(IPAR).eq.14) then
               SIGEND(1) = SIG4CCM(I)
               SIGEND(2) = SIG4CCM(I+1)
            elseif(abs(IPAR).eq.16) then
               SIGEND(1) = SIG4CCT(I)
               SIGEND(2) = SIG4CCT(I+1)
            endif
         else
            SIGEND(1) = SIG4NC(I)
            SIGEND(2) = SIG4NC(I+1)
         endif
         EEND(1) = FLOAT(I)*WIDTH+ESTART
         EEND(2) = FLOAT(I+1)*WIDTH+ESTART

C       ENERGY OVER 1000GEV
      ELSE
         if(IC.eq.1) then
            if(abs(IPAR).eq.12) then
               SIGEND(1) = SIG4CCE(90)
               SIGEND(2) = SIG4CCE(90)
            elseif(abs(IPAR).eq.14) then
               SIGEND(1) = SIG4CCM(90)
               SIGEND(2) = SIG4CCM(90)
            elseif(abs(IPAR).eq.16) then
               SIGEND(1) = SIG4CCT(90)
               SIGEND(2) = SIG4CCT(90)
            endif
         else
            SIGEND(1) = SIG4NC(90)
            SIGEND(2) = SIG4NC(90)
         endif
         EEND(1) = 1000.
         EEND(2) = 1001.

      END IF

      SLOPE = (SIGEND(2)-SIGEND(1))/(EEND(2)-EEND(1))
      ScalingFactor = (NUMATOM/16.)**(1./3.) ! Scaling by A^(1/3) rule
      COHCRSNEREIN = (SIGEND(1)+SLOPE*(E-EEND(1)))*ScalingFactor
      
#ifdef MARTEAU
      if (e.ge.ecvtbl(51)) then
         cohcrsnerein=cohcrsnerein*(crsmart(51)/crsrs(51))
         return
      endif

      i=int(e*10.)+1
      ratio=(crsmart(i+1)-crsmart(i))/(ecvtbl(i+1)-ecvtbl(i))
     $      *(e-ecvtbl(i))+crsmart(i)
      xneum=((crsrs(i+1)-crsrs(i))/(ecvtbl(i+1)-ecvtbl(i))
     $       *(e-ecvtbl(i))+crsrs(i))

      if (xneum.gt.0) then
         ratio=ratio/xneum
      else
         ratio=0.
      endif

C      write(*,*) 'ratio=',ratio
      cohcrsnerein=cohcrsnerein*ratio
#endif

      RETURN
      END
