genSeismicPulseVector t = pulseVector
  where
    pulseVector = fromList (Z :. (t::Int)) [ pulse $ (tt*dt) -tf |  tt <- [0.0..fromIntegral(t-1)]]
    pulse ts = (1.0 - 2.0 * ts * a * ts * a) * exp (-ts * a * ts * a)

-- loop n times
genSeismicPulseVector t = pulseVector
  where
    pulseVector = fromList (Z :. (t::Int)) [ pulse $ (tt*dt) -tf |  tt <- [0.0..fromIntegral(t-1)]]
    pulse ts = (1.0 - 2.0 * ts * a * ts * a) * exp (-ts * a * ts * a)

-- loop n times
genSeismicPulseVector t = pulseVector
  where
    pulseVector = fromList (Z :. (t::Int)) [ pulse $ (tt*dt) -tf |  tt <- [0.0..fromIntegral(t-1)]]
    pulse ts = (1.0 - 2.0 * ts * a * ts * a) * exp (-ts * a * ts * a)

-- loop n times