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.diagnostic;
7   
8   import java.util.List;
9   import java.util.Set;
10  import org.lcsim.event.EventHeader;
11  import org.lcsim.event.MCParticle;
12  import org.lcsim.fit.helicaltrack.HelicalTrackFitter;
13  import org.lcsim.fit.helicaltrack.HelicalTrackHit;
14  import org.lcsim.recon.tracking.seedtracker.HitManager;
15  import org.lcsim.recon.tracking.seedtracker.MaterialManager;
16  import org.lcsim.recon.tracking.seedtracker.SeedCandidate;
17  import org.lcsim.recon.tracking.seedtracker.SeedStrategy;
18  
19  /**
20   *
21   * @author cozzy
22   */
23  public interface ISeedTrackerDiagnostics {
24        
25      /**
26       * SeedTracker will call this method with the event's bField
27       * @param bField the magnetic field, in Teslas 
28       */
29      public void setBField(double bField);
30      
31      /**
32       * SeedTracker will call this method with the current event
33       * @param event the current event
34       */
35      public void setEvent(EventHeader event);
36      
37      /**
38       * SeedTracker will call this method with t
39       * @param hm the HitManager
40       */
41      public void setHitManager(HitManager hm);
42      
43      /**SeedTracker will pass the MaterialManager with this method
44       * 
45       * @param mm the MaterialManager
46       */
47      public void setMaterialManager(MaterialManager mm);
48      
49      /**
50       * Fired whenever a new strategy is employed and passes the strategy. 
51       * @param strategy
52       */
53      public void fireStrategyChanged(SeedStrategy strategy);
54  
55      public void fireCheckHitPairFailed(HelicalTrackHit hit1, HelicalTrackHit hit2);
56  
57      public void fireCheckHitTripletFailed(HelicalTrackHit hit1, HelicalTrackHit hit2, HelicalTrackHit hit3);
58      
59      public void fireCheckHitFailed(HelicalTrackHit hit, SeedCandidate seed);
60  
61      public void fireHelixFitFailed(SeedCandidate seed, HelicalTrackFitter.FitStatus status, boolean firstfit);
62  
63      public void fireFailedChisqCut(SeedCandidate seed);
64  
65      public void fireMergeKillingNewSeed(SeedCandidate seed, SeedCandidate newseed);
66  
67      public void fireMergeKillingOldSeed(SeedCandidate seed, SeedCandidate newseed);
68      
69      /**
70       * This is fired at the end of the finding routine
71       * @param trackseeds
72       * @param mcp_seeds
73       */
74      public void fireFinderDone(List<SeedCandidate> trackseeds, Set<MCParticle> mcp_seeds);
75  
76  }