View Javadoc

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 java.io.File;
9   import org.lcsim.recon.tracking.seedtracker.StrategyXMLUtils;
10  import org.lcsim.util.Driver;
11  
12  /**
13   * This class contains implementations for some convenience methods in IStrategyBuilder
14   * @author cozzy
15   */
16  public abstract class AbstractStrategyBuilder extends Driver implements IStrategyBuilder{
17      
18      public void setStartingStrategyList(String startingStrategies) {
19          setStartingStrategyList(StrategyXMLUtils.getStrategyListFromFile(new File(startingStrategies)));
20      }
21      
22      public void setStrategyPrototype(String strategiesFile, int strategyNumber) {   
23          setStrategyPrototype(StrategyXMLUtils.getStrategyListFromFile(new File(strategiesFile)).get(strategyNumber)); 
24      }
25      
26      public void setStrategyPrototype(String strategiesFile) {
27          setStrategyPrototype(strategiesFile,0); 
28      }
29  
30      public void setLayerWeight(String layerWeightsFile){
31          setLayerWeight(LayerWeight.getLayerWeightFromFile(new File(layerWeightsFile)));
32      }
33      
34      public void setParticleFilter(String filterClassName) {
35            try {
36                  setParticleFilter((IParticleFilter) Class.forName(filterClassName).newInstance());
37              } catch (ClassNotFoundException cfne) {
38                  System.out.println("WARNING: Class "+filterClassName+ " not found :'("); 
39              } catch (InstantiationException ie){
40                  System.out.println("WARNING: Class "+filterClassName+ " could not be instantiated. Does the constructor take arguments?");
41              } catch (IllegalAccessException iae){
42                  System.out.println("WARNING: IllegalAccessException? WTF does that mean?"); 
43              } catch (ClassCastException cce){
44                  System.out.println("WARNING: Unable to cast "+filterClassName+ " as a IParticleFilter."); 
45              }
46      }
47  }