Print

Print


Commit in lcsim/src/org/lcsim/recon/tracking/seedtracker on MAIN
FindSeeds.java-1251.1 removed
FindSeeds was renamed

lcsim/src/org/lcsim/recon/tracking/seedtracker
FindSeeds.java removed after 1.1
diff -N FindSeeds.java
--- FindSeeds.java	27 Aug 2008 17:59:02 -0000	1.1
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,125 +0,0 @@
-/*
- * FindSeeds.java
- *
- * Created on January 22, 2008, 9:39 AM
- *
- */
-
-package org.lcsim.recon.tracking.seedtracker;
-
-import org.lcsim.recon.tracking.seedtracker.diagnostic.ISeedTrackerDiagnostics;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.lcsim.fit.helicaltrack.HelicalTrackHit;
-
-/**
- *
- * @author Richard Partridge
- * @version 1.0
- */
-public class FindSeeds {
-    private HitManager _hitmanager;
-    private HelixFitter _helixfitter;
-    private ConfirmerExtender _confirmer;
-    private List<SeedCandidate> _confirmedseeds;
-    private List<SeedCandidate> _extendedseeds;
-    private ISeedTrackerDiagnostics diag = null;
-    
-    /** Creates a new instance of FindSeeds */
-    public FindSeeds(HitManager hitmanager, HelixFitter helixfitter) {
-        _hitmanager = hitmanager;
-        _helixfitter = helixfitter;
-        _confirmer = new ConfirmerExtender(hitmanager, helixfitter);
-    }
-    
-    public void setDiagnostic(ISeedTrackerDiagnostics d) {
-        diag = d;
-    }
-    
-    public boolean FindConfirmedSeeds(SeedStrategy strategy, double bfield) {
-        
-        if(diag!=null) _confirmer.setDiagnostics(diag);
-        //  Get the SeedLayers for this strategy
-        List<SeedLayer> seedlayerlist = strategy.getLayers(SeedLayer.SeedType.Seed);
-        if (seedlayerlist.size() != 3) return false;
-        
-        _confirmedseeds = new ArrayList<SeedCandidate>();
-        _extendedseeds = new ArrayList<SeedCandidate>();
-        
-        double RMin = strategy.getMinPT() / (0.0003 * bfield);
-        double dMax = strategy.getMaxDCA();
-        
-        // Todo: add code to limit seeds to those that satisfy cuts
-        
-        int nfit = 0;
-        int nseed = 0;
-        int nconfirm = 0;
-        int maxseeds = _hitmanager.getTrackerHits(seedlayerlist.get(0)).size() *
-                _hitmanager.getTrackerHits(seedlayerlist.get(1)).size() *
-                _hitmanager.getTrackerHits(seedlayerlist.get(2)).size();
-        
-        for (HelicalTrackHit hit1 : _hitmanager.getTrackerHits(seedlayerlist.get(0))) {
-            double r1 = hit1.r();
-            double phi1 = hit1.phi();
-            double dphi1mx = Math.asin((2*RMin*dMax - dMax*dMax-r1*r1)/(2*r1*(RMin-dMax)));
-            for (HelicalTrackHit hit2 : _hitmanager.getTrackerHits(seedlayerlist.get(1))) {
-                double r2 = hit2.r();
-                double phi2 = hit2.phi();
-                double dphi2mx = Math.asin((2*RMin*dMax - dMax*dMax-r2*r2)/(2*r2*(RMin-dMax)));
-                double dphi2 = Math.abs(phi2 - phi1);
-                if (dphi2 > Math.PI) dphi2 = 2. * Math.PI - dphi2;
-                boolean phicut = dphi2 > Math.abs(dphi2mx-dphi1mx);
-                if(diag!=null) diag.fireFinderDPhiCut(2, dphi2, phicut, hit2);
-                if (phicut) continue;
-                for (HelicalTrackHit hit3 : _hitmanager.getTrackerHits(seedlayerlist.get(2))) {
-                    double r3 = hit3.r();
-                    double phi3 = hit3.phi();
-                    double dphi3mx = Math.asin((2*RMin*dMax - dMax*dMax-r3*r3)/(2*r3*(RMin-dMax)));
-                    double dphi3 = phi3 - phi2;
-                    if (dphi3 > Math.PI) dphi3 = 2. * Math.PI - dphi3;
-                    phicut = dphi3 > Math.abs(dphi3mx-dphi2mx);
-                    if(diag!=null) diag.fireFinderDPhiCut(3, dphi3, phicut, hit3);
-                    if (phicut) continue;
-                    SeedCandidate seed = new SeedCandidate(strategy);
-                    seed.addHit(hit1);
-                    seed.addHit(hit2);
-                    seed.addHit(hit3);
-                    nseed++;
-                    boolean success = _helixfitter.FitCandidate(seed, strategy);
-                    if (!success) continue;
-                    seed.setHelix(_helixfitter.getHelix());
-                    nfit++;
-                    
-                    success = _confirmer.Confirm(seed, true, strategy);
-                    if (!success) continue;
-                    
-                    List<SeedCandidate> confirmedlist = _confirmer.getResult();
-                    _confirmedseeds.addAll(confirmedlist);
-                    nconfirm++;
-                    
-                    for (SeedCandidate confirmedseed : confirmedlist) {
-                        
-                        success = _confirmer.Extend(confirmedseed, true, strategy);
-                        if (!success) continue;
-                        
-                        List<SeedCandidate> extendedlist = _confirmer.getResult();
-                        _extendedseeds.addAll(extendedlist);
-                    }
-                }
-            }
-        }
-        
-        if(diag!=null) diag.fireFinderDone(maxseeds, nseed, nfit, nconfirm, _confirmedseeds);
-        
-        return _extendedseeds.size() > 0;
-    }
-   
-    public List<SeedCandidate> getConfirmedSeeds() {
-        return _confirmedseeds;
-    }
-    
-    public List<SeedCandidate> getExtendedSeeds() {
-        return _extendedseeds;
-    }
-}
\ No newline at end of file
CVSspam 0.2.8