1
2
3
4
5
6 package org.lcsim.recon.tracking.seedtracker.steeringwrappers;
7
8 import java.io.File;
9 import org.lcsim.recon.tracking.seedtracker.*;
10 import org.lcsim.util.Driver;
11
12
13
14
15
16
17
18 public class SeedTrackerWrapper extends Driver{
19
20 private boolean added = false;
21 private SeedTracker seedTracker = null;
22
23 public void setStrategyFile(String file) {
24 if(added) throw new AlreadyAddedException();
25 seedTracker = new SeedTracker(StrategyXMLUtils.getStrategyListFromFile(new File(file)));
26 add(seedTracker);
27 added = true;
28 }
29
30 public void setStrategyResource(String resource) {
31 if(added) throw new AlreadyAddedException();
32 seedTracker = new SeedTracker(StrategyXMLUtils.getStrategyListFromResource(resource));
33 added = true;
34 }
35
36 public void setStrategyResourceWithDefaultPrefix(String resource) {
37 setStrategyResource(StrategyXMLUtils.getDefaultStrategiesPrefix() + resource);
38 }
39
40 public void setTimingPlots(boolean timing) {
41 if (!added) throw new NotAddedException();
42 seedTracker.setTimingPlots(timing);
43 }
44
45 public void setTrkCollectionName(String name) {
46 if (!added) throw new NotAddedException();
47 seedTracker.setTrkCollectionName(name);
48 }
49
50 public void setInputCollectionName(String name) {
51 seedTracker.setInputCollectionName(name);
52 }
53
54 public void setMaxFit(int maxfit) {
55 seedTracker.setMaxFit(maxfit);
56 }
57
58 public void setBField(double bfield) {
59 seedTracker.setBField(bfield);
60 }
61
62 class AlreadyAddedException extends RuntimeException {
63 public AlreadyAddedException(){
64 super("SeedTracker already has been added");
65 }
66 }
67
68 class NotAddedException extends RuntimeException {
69 public NotAddedException(){
70 super("SeedTracker has not been added, yet");
71 }
72 }
73 }