View Javadoc

1   package org.lcsim.recon.tracking.trflayer;
2   
3   import java.util.*;
4   
5   import org.lcsim.recon.tracking.trfbase.Miss;
6   import org.lcsim.recon.tracking.trfbase.Propagator;
7   import org.lcsim.recon.tracking.trfutil.Assert;
8   
9   // Dummy layer class for LayerStat test.
10  // Needed to access private methods of LayerStat.
11  // Original C++ code used friends to get at private methods....
12  //
13  
14  public class TLayer extends Layer
15  {
16      
17      private boolean _same;
18      private  boolean _exit;
19      private  Miss _miss;
20      private  ClusterFinder _finder;
21      private int _state;
22      
23      private boolean debug;
24      
25      public TLayer()
26      {
27      }
28      
29      public TLayer(boolean same, boolean exit, Miss miss,
30              ClusterFinder finder, int state)
31      {
32          _same = same;
33          _exit = exit;
34          _miss = miss;
35          _finder = finder;
36          _state = state;
37      }
38      
39      public LayerStat propagate()
40      {
41          LayerStat lstat = new LayerStat(this);
42          propagate(lstat);
43          return lstat;
44      }
45      
46      public void propagate(LayerStat lstat)
47      {
48          if ( _exit ) lstat.setAtExit();
49          if ( _miss!=null ) lstat.setMiss(_miss);
50          if ( _finder!=null ) lstat.setFinder(_finder);
51          lstat.setState(_state);
52      }
53      
54      public void check(LayerStat lstat)
55      {
56          Assert.assertTrue( _exit == lstat.atExit() );
57          if(debug) System.out.println("Miss = "+_miss);
58          if(debug) System.out.println("Miss likelihood= "+_miss.likelihood());
59          if(debug) System.out.println("LStat likelihood= "+lstat.miss().likelihood());
60          
61          Assert.assertTrue( _miss == null || _miss.likelihood()
62          == lstat.miss().likelihood() );
63          Assert.assertTrue( _finder == lstat.finder() );
64          Assert.assertTrue( _state == lstat.state() );
65      }
66      
67      //not used
68      protected List _propagate(LTrack  trl,  Propagator  prop)
69      {
70          return new ArrayList();
71      }
72  }
73