Changed cross-section lookup to be O(1) which resulted in close to 50% speedup