1
2
3
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
14
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 }