View Javadoc

1   package org.lcsim.detector;
2   
3   import org.lcsim.detector.identifier.IIdentifierDictionaryManager;
4   import org.lcsim.detector.identifier.IdentifierDictionaryManager;
5   import org.lcsim.detector.material.IMaterialStore;
6   import org.lcsim.detector.material.MaterialStore;
7   import org.lcsim.detector.solids.ISolidStore;
8   import org.lcsim.detector.solids.SolidStore;
9   
10  /**
11   * 
12   * This class provides access to the global stores of detector objects,
13   * including materials, logical volumes, and physical volumes.
14   * 
15   * @author Jeremy McCormick <jeremym@slac.stanford.edu>
16   *
17   */
18  public class DetectorStore implements IDetectorStore
19  {
20  	private static IDetectorStore store;
21  	
22  	public static IDetectorStore getInstance()
23  	{
24  		if ( store == null )
25  		{
26  			store = new DetectorStore();
27  		}
28  		return store;
29  	}
30  
31  	public IDetectorElementStore getDetectorElementStore() 
32  	{
33  		return DetectorElementStore.getInstance();
34  	}
35  
36  	public ILogicalVolumeStore getLogicalVolumeStore() 
37  	{
38  		return LogicalVolumeStore.getInstance();
39  	}
40  
41  	public IMaterialStore getMaterialStore() 
42  	{
43  		return MaterialStore.getInstance();
44  	}
45  
46  	public IPhysicalVolumeStore getPhysicalVolumeStore() 
47  	{
48  		return PhysicalVolumeStore.getInstance();
49  	}
50  
51  	public ISolidStore getSolidStore() 
52  	{	
53  		return SolidStore.getInstance();
54  	}
55      
56      public IPhysicalVolumeNavigatorStore getPhysicalVolumeNavigatorStore()
57      {
58          return PhysicalVolumeNavigatorStore.getInstance();
59      }
60  
61      public IIdentifierDictionaryManager getIdentifierDictionaryManager()
62      {
63          return IdentifierDictionaryManager.getInstance();
64      }
65      
66      public IParametersStore getParametersStore()
67      {
68          return ParametersStore.getInstance();
69      }
70      
71      public void clear()
72      {
73          getDetectorElementStore().clear();
74          getLogicalVolumeStore().clear();
75          getMaterialStore().clear();
76          getPhysicalVolumeNavigatorStore().clear();
77          getPhysicalVolumeStore().clear();
78          getSolidStore().clear(); 
79          getIdentifierDictionaryManager().clear();
80      }
81  
82  }