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
10
11
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
68 protected List _propagate(LTrack trl, Propagator prop)
69 {
70 return new ArrayList();
71 }
72 }
73