lcsim/sandbox/Partridge
diff -u -r1.1 -r1.2
--- DefaultStrategy.java 6 Aug 2007 23:59:57 -0000 1.1
+++ DefaultStrategy.java 21 Nov 2007 16:24:50 -0000 1.2
@@ -10,38 +10,58 @@
import java.util.List;
import java.util.ArrayList;
+import org.lcsim.contrib.seedtracker.SeedLayer.SeedType;
+import org.lcsim.geometry.subdetector.BarrelEndcapFlag;
+
/**
- *
+ * Define the default strategy to be used by the SeedTracker tracking algorithm. The default strategy may be
+ * over-ridden by calling the method SeedTracker.putStrategyList.
* @author Richard Partridge
* @version 1.0
*/
-public class DefaultStrategy
-{
- private List<SeedStrategy> StrategyList;
+public class DefaultStrategy {
+ private List<SeedStrategy> _strategylist;
/** Creates a new instance of DefaultStrategy */
- public DefaultStrategy()
- {
- StrategyList = new ArrayList();
+ public DefaultStrategy() {
+ _strategylist = new ArrayList();
+ // Barrel only strategies
+ List<SeedLayer> tb012layers = new ArrayList();
+ tb012layers.add(new SeedLayer("TrackerBarrel", 0, BarrelEndcapFlag.BARREL, SeedType.Seed));
+ tb012layers.add(new SeedLayer("TrackerBarrel", 1, BarrelEndcapFlag.BARREL, SeedType.Seed));
+ tb012layers.add(new SeedLayer("TrackerBarrel", 2, BarrelEndcapFlag.BARREL, SeedType.Seed));
+ _strategylist.add(new SeedStrategy("TB012",tb012layers));
- List<SeedLayer> TD012Layers = new ArrayList();
- TD012Layers.add(new SeedLayer("TrackerEndcap", 0, SeedLayer.SeedType.SeedInner));
- TD012Layers.add(new SeedLayer("TrackerEndcap", 1, SeedLayer.SeedType.SeedMiddle));
- TD012Layers.add(new SeedLayer("TrackerEndcap", 2, SeedLayer.SeedType.SeedOuter));
-// StrategyList.add(new SeedStrategy("TD012",TD012Layers));
-
- List<SeedLayer> VB012Layers = new ArrayList();
- VB012Layers.add(new SeedLayer("VertexBarrel", 2, SeedLayer.SeedType.SeedInner));
- VB012Layers.add(new SeedLayer("VertexBarrel", 3, SeedLayer.SeedType.SeedMiddle));
- VB012Layers.add(new SeedLayer("VertexBarrel", 4, SeedLayer.SeedType.SeedOuter));
- VB012Layers.add(new SeedLayer("TrackerBarrel", 0, SeedLayer.SeedType.Confirm3D));
-// VB012Layers.add(new SeedLayer("VertexBarrel", 0, SeedLayer.SeedType.Confirm3D));
-// VB012Layers.add(new SeedLayer("VertexBarrel", 1, SeedLayer.SeedType.Confirm3D));
- StrategyList.add(new SeedStrategy("VB012",VB012Layers));
+ List<BarrelEndcapFlag> belist = new ArrayList();
+ belist.add(BarrelEndcapFlag.ENDCAP_NORTH);
+ belist.add(BarrelEndcapFlag.ENDCAP_SOUTH);
+ for (BarrelEndcapFlag beflag : belist) {
+ List<SeedLayer> td012layers = new ArrayList();
+ td012layers.add(new SeedLayer("TrackerEndcap", 0, beflag, SeedType.Seed));
+ td012layers.add(new SeedLayer("TrackerEndcap", 2, beflag, SeedType.Seed));
+ td012layers.add(new SeedLayer("TrackerEndcap", 4, beflag, SeedType.Seed));
+ _strategylist.add(new SeedStrategy("TD012"+beflag.toString(),td012layers));
+
+ List<SeedLayer> tca = new ArrayList();
+ tca.add(new SeedLayer("TrackerBarrel", 0, BarrelEndcapFlag.BARREL, SeedType.Seed));
+ tca.add(new SeedLayer("TrackerBarrel", 1, BarrelEndcapFlag.BARREL, SeedType.Seed));
+ tca.add(new SeedLayer("TrackerEndcap", 4, beflag, SeedType.Seed));
+ _strategylist.add(new SeedStrategy("TCA"+beflag.toString(),tca));
+
+ List<SeedLayer> tcb = new ArrayList();
+ tcb.add(new SeedLayer("TrackerBarrel", 0, BarrelEndcapFlag.BARREL, SeedType.Seed));
+ tcb.add(new SeedLayer("TrackerEndcap", 2, beflag, SeedType.Seed));
+ tcb.add(new SeedLayer("TrackerEndcap", 4, beflag, SeedType.Seed));
+ _strategylist.add(new SeedStrategy("TCB"+beflag.toString(),tcb));
+ }
}
- public List<SeedStrategy> getStrategyList()
- {
- return StrategyList;
+
+ /**
+ * Returns the default list of track-finding strategies
+ * @return List of strategies to be used by SeedTracker
+ */
+ public List<SeedStrategy> getStrategyList() {
+ return _strategylist;
}
}