1 /* 2 * To change this template, choose Tools | Templates 3 * and open the template in the editor. 4 */ 5 6 package org.lcsim.recon.tracking.seedtracker.strategybuilder; 7 8 import org.lcsim.event.EventHeader; 9 import org.lcsim.event.MCParticle; 10 11 /** 12 * A particle filter is applied to MCParticles in the training step. LayerSets 13 * are not generated by MCParticles which do not pass the filters. Note that 14 * a minimum number of layers hit is necessary in addition to passing the filter. 15 * 16 * The default behavior for StrategyBuilder is to use a StrategyBasedFilter, which 17 * gets cutoffs for DCA, z0 and pt based on prototype strategy. 18 * 19 * 20 * @author cozzy 21 */ 22 public interface IParticleFilter { 23 24 /** 25 * Returns true if the MCParticle passes the filter, false otherwise. Called 26 * for every MCParticle by StrategyBuilder. 27 * 28 * @param p The test MCParticle 29 * @return 30 */ 31 public boolean passes(MCParticle p); 32 33 /** 34 * This method is called for each event by StrategyBuilder. 35 * @param event 36 */ 37 public void setEvent(EventHeader event); 38 }