View Javadoc

1   /*
2    * SiElectrodeData.java
3    *
4    * Created on May 11, 2007, 1:16 PM
5    *
6    * To change this template, choose Tools | Template Manager
7    * and open the template in the editor.
8    */
9   
10  package org.lcsim.recon.tracking.digitization.sisim;
11  
12  import java.util.ArrayList;
13  import java.util.HashSet;
14  import org.lcsim.event.SimTrackerHit;
15  
16  import java.util.List;
17  import java.util.Set;
18  
19  /**
20   *
21   * @author tknelson
22   */
23  public class SiElectrodeData
24  {
25      int _charge = 0;
26      Set<SimTrackerHit> _simulated_hits = new HashSet<SimTrackerHit>();
27      
28      /** Creates a new instance of SiElectrodeData */
29      public SiElectrodeData()
30      {
31      }
32      
33      public SiElectrodeData(int charge)
34      {
35          _charge = charge;
36      }
37      
38      public SiElectrodeData(int charge, SimTrackerHit simulated_hit)
39      {
40          _charge = charge;
41          _simulated_hits.add(simulated_hit);
42      }
43      
44      public SiElectrodeData(int charge, Set<SimTrackerHit> simulated_hits)
45      {
46          _charge = charge;
47          _simulated_hits = simulated_hits;
48      }
49      
50      public boolean isValid()
51      {
52          return (getCharge() != 0);
53      }
54      
55      public int getCharge()
56      {
57          return _charge;
58      }
59      
60      public Set<SimTrackerHit> getSimulatedHits()
61      {
62          return _simulated_hits;
63      }
64      
65      public SiElectrodeData add(SiElectrodeData electrode_data)
66      {
67          this.add(electrode_data.getCharge(),electrode_data.getSimulatedHits());
68          return this;
69      }
70      
71      public SiElectrodeData add(int charge, Set<SimTrackerHit> simulated_hits)
72      {
73          this.addCharge(charge);
74          for (SimTrackerHit hit : simulated_hits)
75          {
76              this.addSimulatedHit(hit);
77          }
78          return this;
79      }
80      
81      public SiElectrodeData addCharge(int charge)
82      {
83          _charge += charge;
84          return this;
85      }
86      
87      public SiElectrodeData addSimulatedHit(SimTrackerHit simulated_hit)
88      {
89          _simulated_hits.add(simulated_hit);
90          return this;
91      }    
92     
93  }