Commit in GeomConverter/src/org/lcsim/detector on MAIN
DetectorIdHelper.java-8861.2 removed
JM: moved to DetectorIdentifierHelper.java

GeomConverter/src/org/lcsim/detector
DetectorIdHelper.java removed after 1.2
diff -N DetectorIdHelper.java
--- DetectorIdHelper.java	8 Sep 2007 00:47:53 -0000	1.2
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,886 +0,0 @@
-package org.lcsim.detector;
-
-import java.util.HashMap;
-
-import org.lcsim.detector.identifier.ExpandedIdentifier;
-import org.lcsim.detector.identifier.IExpandedIdentifier;
-import org.lcsim.detector.identifier.IIdentifier;
-import org.lcsim.detector.identifier.IIdentifierDictionary;
-import org.lcsim.detector.identifier.IdentifierHelper;
-import org.lcsim.detector.identifier.IIdentifierDictionary.FieldNotFoundException;
-import org.lcsim.detector.identifier.IIdentifierDictionary.InvalidIndexException;
-
-/**
- * <p>
- * An {@link org.lcsim.detector.identifier.IIdentifierHelper} for decoding {@link org.lcsim.detector.identifier.IIdentifier}s
- * from the top-level of the detector description.
- * </p>
- * 
- * <p>
- * The identifier fields used by this class.
- * <ul>
- * <li><code>system</code> - The system number that uniquely identifies a subdetector.</li>
- * <li><code>barrel</code> - The flag that indicates whether a subdetector is a barrel, endcap positive, or endcap negative.</li>
- * <li><code>layer</code> - The layer number of a subcomponent.  (Field is optional.)</li>
- * </ul>
- * </p> 
- * 
- * <p>
- * The system numbers can be set from a {@see SysteMap} which is a map of strings 
- * to integer values for system.  These could be read from a compact description.
- * </p>
- * 
- * <p>
- * The basic method signatures are as follows.
- * <ul>
- * <li><code>int getSomeSubdetectorValue()</code> - Get the system value of SomeSubdetector.
- * <li><code>isSomething(IIdentifier i)</code> - Check if the id is of some subdetector type or it it has matching barrel flag. 
- * <li><code>IIdentifier getSomeSubdetectorId()</code> - Get the id for SomeSubdetector.
- * <li><code>int getSomeField(IIdentifier i)</code> - Get a specific field value from an id.
- * <li><code>boolean someFieldEquals(IIdentifier i, int x)</code> - Check if field from identifier equals the argument.
- * </ul>
- * </p>
- * 
- * @author Jeremy McCormick <[log in to unmask]>
- */
-public class DetectorIdHelper
-extends IdentifierHelper
-{	
-	// Invalid index.
-	public static final int invalidIndex=-1;
-	
-	// Index of system field in the IdentifierDictionary.  REQUIRED.
-	int systemIndex=invalidIndex;
-	
-	// Index of barrel field in the IdentifierDictionary.  REQUIRED.
-	int barrelIndex=invalidIndex;
-	
-	// Index of layer field in the IdentifierDictionary.  OPTIONAL.
-	int layerIndex=invalidIndex;
-	 	
-    // Barrel or endcap flag.
-	// These values are fixed constants that follow the LCSim convention
-	// so can be static.
-	private final static int barrelValue=0;
-	private final static int endcapPositiveValue=1;
-	private final static int endcapNegativeValue=2;
-	
-	// Subsystem id values.  
-	// These are set via a SystemMap, to allow the values to be read
-	// from a compact detector description.  The default SystemMap is 
-	// created if none is supplied.
-	private int invalidSystemValue = -1;
-	private int unknownValue = invalidSystemValue;
-	private int vtxBarrelValue = invalidSystemValue;
-	private int vtxEndcapValue = invalidSystemValue;
-	private int sitBarrelValue = invalidSystemValue;
-	private int sitEndcapValue = invalidSystemValue;
-	private int sitForwardValue = invalidSystemValue;
-	private int tpcValue = invalidSystemValue;
-	private int ecalBarrelValue = invalidSystemValue;
-	private int ecalEndcapValue = invalidSystemValue;
-	private int hcalBarrelValue = invalidSystemValue;
-	private int hcalEndcapValue = invalidSystemValue;
-	private int muonBarrelValue = invalidSystemValue;
-	private int muonEndcapValue = invalidSystemValue;
-	private int ecalForwardValue = invalidSystemValue;
-	private int lumiValue = invalidSystemValue;	
-	
-	// Barrel or endcap ids.
-	IIdentifier barrelId;
-	IIdentifier endcapPositiveId;
-	IIdentifier endcapNegativeId;
-	
-	// Vertex detector ids.
-	IIdentifier vtxBarrelId;
-    IIdentifier vtxEndcapId;
-	IIdentifier vtxEndcapPositiveId;
-	IIdentifier vtxEndcapNegativeId;
-	
-	// Silicon tracker ids.
-	IIdentifier sitBarrelId;
-    IIdentifier sitEndcapId;
-	IIdentifier sitEndcapPositiveId;
-	IIdentifier sitEndcapNegativeId;
-	
-	// Forward silicon tracking.
-	IIdentifier sitForwardId;
-	IIdentifier sitForwardEndcapPositiveId;
-	IIdentifier sitForwardEndcapNegativeId;	
-		 
-	// TPC id.
-	IIdentifier tpcId;
-	
-	// Ecal ids.
-	IIdentifier ecalBarrelId;
-    IIdentifier ecalEndcapId;
-	IIdentifier ecalEndcapPositiveId;
-	IIdentifier ecalEndcapNegativeId;
-	
-	// Hcal ids.
-    IIdentifier hcalBarrelId;
-    IIdentifier hcalEndcapId;
-	IIdentifier hcalEndcapPositiveId;
-	IIdentifier hcalEndcapNegativeId;
-	
-	// Muon ids.
-	IIdentifier muonBarrelId;
-    IIdentifier muonEndcapId;
-	IIdentifier muonEndcapPositiveId;
-	IIdentifier muonEndcapNegativeId;
-	
-	// Ecal forward ids.
-	IIdentifier ecalForwardId;
-	IIdentifier ecalForwardEndcapPositiveId;
-	IIdentifier ecalForwardEndcapNegativeId;
-			
-	// Luminosity monitor ids.
-	IIdentifier lumiId;
-	IIdentifier lumiEndcapPositiveId;
-	IIdentifier lumiEndcapNegativeId;
-	
-	// LDC si tracking...
-	// inner = sit
-	// outer = set
-	// ftc = forward tracking chamber
-	
-	// FIXME: Add an hcalForward subsystem.
-	
-	public static class SystemMap 
-	extends HashMap<String,Integer>
-	{
-		public Integer put(String key, Integer value) 
-		{
-			if (containsKey(key))
-			{
-				System.err.println("The field " + key + " was already set to <" + value + ">.  Ignored!");
-				return -1;
-			}
-			else {
-				return super.put(key, value);
-			}
-		}					
-	}
-	
-	private SystemMap defaultSystemMap;
-	
-	private SystemMap makeDefaultSystemMap()
-	{
-		if (defaultSystemMap == null)
-		{
-			defaultSystemMap = new SystemMap();
-			
-			SystemMap s = defaultSystemMap;
-			
-			s.put("unknown",0);
-			s.put("vtxBarrel",1);
-			s.put("vtxEndcap",2);
-			s.put("sitBarrel",3);
-			s.put("sitEndcap",4);
-			s.put("sitForward", 5);
-			s.put("tpc",6);
-			s.put("ecalBarrel",7);
-			s.put("ecalEndcap",8);
-			s.put("hcalBarrel",9);
-			s.put("hcalEndcap",10);
-			s.put("muonBarrel",11);
-			s.put("muonEndcap",12);
-			s.put("ecalForward",13);
-			s.put("lumi",14);
-		}
-		return defaultSystemMap;		
-	}	
-
-	private void setSystemValues(SystemMap s)
-	{
-		if (s != null)
-		{
-			if (s.containsKey("unknown"))
-				unknownValue = s.get("unknown");
-			
-			if (s.containsKey("vtxBarrel"))
-				vtxBarrelValue = s.get("vtxBarrel");
-			
-			if (s.containsKey("vtxEndcap"))
-				vtxEndcapValue = s.get("vtxEndcap");
-			
-			if (s.containsKey("sitBarrel"))
-				sitBarrelValue = s.get("sitBarrel");
-			
-			if (s.containsKey("sitEndcap"))
-				sitEndcapValue = s.get("sitEndcap");
-			
-			if (s.containsKey("sitForward"))
-				sitForwardValue = s.get("sitForward");
-			
-			if (s.containsKey("tpc"))
-				tpcValue = s.get("tpc");
-			
-			if (s.containsKey("ecalBarrel"))
-				ecalBarrelValue = s.get("ecalBarrel");
-			
-			if (s.containsKey("ecalEndcap"))
-				ecalEndcapValue = s.get("ecalEndcap");
-			
-			if (s.containsKey("hcalBarrel"))
-				hcalBarrelValue = s.get("hcalBarrel");
-			
-			if (s.containsKey("hcalEndcap"))
-				hcalEndcapValue = s.get("hcalEndcap");
-			
-			if (s.containsKey("muonBarrel"))
-				muonBarrelValue = s.get("muonBarrel");
-			
-			if (s.containsKey("muonEndcap"))
-				muonEndcapValue = s.get("muonEndcap");
-			
-			if (s.containsKey("ecalForward"))
-				ecalForwardValue = s.get("ecalForward");
-			
-			if (s.containsKey("lumi"))
-				lumiValue = s.get("lumi");
-		}
-	}
-	
-	private void setup(IIdentifierDictionary dict, SystemMap systemMap) throws InvalidIndexException, FieldNotFoundException
-	{
-		if (systemMap == null)
-			systemMap = makeDefaultSystemMap();
-		
-		setSystemValues(systemMap);
-				
-		systemIndex = dict.getFieldIndex("system");
-		barrelIndex = dict.getFieldIndex("barrel");
-		
-		// Optional layer field.
-		if (dict.hasField("layer"))
-			layerIndex = dict.getFieldIndex("layer");		
-		
-		barrelId         = makeBarrelId(barrelValue);
-		endcapPositiveId = makeBarrelId(endcapPositiveValue);
-		endcapNegativeId = makeBarrelId(endcapNegativeValue);
-		
-		vtxBarrelId         = makeSubsysId(vtxBarrelValue,barrelValue);
-		vtxEndcapPositiveId = makeSubsysId(vtxEndcapValue,endcapPositiveValue);
-		vtxEndcapNegativeId = makeSubsysId(vtxEndcapValue,endcapNegativeValue);
-		
-		sitBarrelId         = makeSubsysId(sitBarrelValue,barrelValue);
-		sitEndcapPositiveId = makeSubsysId(sitEndcapValue,endcapPositiveValue);
-		sitEndcapNegativeId = makeSubsysId(sitEndcapValue,endcapNegativeValue);
-		
-		sitForwardId               = makeSubsysId(sitForwardValue);
-		sitForwardEndcapPositiveId = makeSubsysId(sitForwardValue,endcapPositiveValue);
-		sitForwardEndcapNegativeId = makeSubsysId(sitForwardValue,endcapNegativeValue);
-		
-		tpcId = makeSubsysId(tpcValue);
-		
-		ecalBarrelId         = makeSubsysId(ecalBarrelValue,barrelValue);
-		ecalEndcapPositiveId = makeSubsysId(ecalEndcapValue,endcapPositiveValue);
-		ecalEndcapNegativeId = makeSubsysId(ecalEndcapValue,endcapNegativeValue);
-		
-		hcalBarrelId         = makeSubsysId(hcalBarrelValue,barrelValue);
-		hcalEndcapPositiveId = makeSubsysId(hcalEndcapValue,endcapPositiveValue);
-		hcalEndcapNegativeId = makeSubsysId(hcalEndcapValue,endcapNegativeValue);
-		
-		muonBarrelId         = makeSubsysId(muonBarrelValue,barrelValue);
-		muonEndcapPositiveId = makeSubsysId(muonEndcapValue,endcapPositiveValue);
-		muonEndcapNegativeId = makeSubsysId(muonEndcapValue,endcapNegativeValue);			
-		
-		ecalForwardId = makeSubsysId(ecalForwardValue);
-		ecalForwardEndcapPositiveId = makeSubsysId(ecalForwardValue, endcapPositiveValue);
-		ecalForwardEndcapNegativeId = makeSubsysId(ecalForwardValue, endcapNegativeValue);
-		
-		lumiId = makeSubsysId(lumiValue);
-		lumiEndcapPositiveId = makeSubsysId(lumiValue,endcapPositiveValue);
-		lumiEndcapNegativeId = makeSubsysId(lumiValue,endcapNegativeValue);		
-	}
-		
-	// Public ctor.
-	public DetectorIdHelper(IIdentifierDictionary dict, SystemMap systemMap) throws FieldNotFoundException, InvalidIndexException
-	{
-		super(dict);
-		setup(dict,systemMap);		
-	}	
-		
-	private IIdentifier makeSubsysId(int system) throws InvalidIndexException
-	{		
-		IExpandedIdentifier expid = 
-			new ExpandedIdentifier(getIdentifierDictionary().getNumberOfFields());
-		expid.setValue(systemIndex, system);
-		IIdentifier id = pack(expid);
-		return id;
-	}
-	
-	private IIdentifier makeSubsysId(int system, int barrel) throws InvalidIndexException
-	{		
-		IExpandedIdentifier expid = 
-			new ExpandedIdentifier(getIdentifierDictionary().getNumberOfFields());
-		expid.setValue(systemIndex, system);
-		expid.setValue(barrelIndex, barrel);
-		IIdentifier id = pack(expid);
-		return id;
-	}	
-	
-	private IIdentifier makeBarrelId(int barrel) throws InvalidIndexException
-	{		
-		IExpandedIdentifier expid = 
-			new ExpandedIdentifier(getIdentifierDictionary().getNumberOfFields());
-		expid.setValue(barrelIndex, barrel);
-		IIdentifier id = pack(expid);
-		return id;
-	}	
-			
-	private boolean compareSystem(IIdentifier id, int system)
-	{
-		try {
-			return unpack(id).getValue(systemIndex) == system;
-		}
-		catch (InvalidIndexException x)
-		{
-			throw new RuntimeException(x);
-		}
-	}	
-	
-	public int getBarrelValue()
-	{
-		return barrelValue;
-	}
-	
-	public int getEndcapPositiveValue()
-	{
-		return endcapPositiveValue;
-	}
-	
-	public int getEndcapNegativeValue()
-	{
-		return endcapNegativeValue;
-	}
-	
-	public int getUnknownValue()
-	{
-		return unknownValue;
-	}
-	
-	public int getVtxBarrelValue()
-	{
-		return vtxBarrelValue;
-	}
-	
-	public int getVtxEndcapValue()
-	{
-		return vtxEndcapValue;
-	}	
-	
-	public int getSitForwardValue()
-	{
-		return sitForwardValue;
-	}
-
-	public int getSitBarrelValue()
-	{
-		return sitBarrelValue;
-	}
-	public int getSitEndcapValue()
-	{
-		return sitEndcapValue;
-	}
-			
-	public int getEcalBarrelValue()
-	{
-		return ecalBarrelValue;
-	}
-	public int getEcalEndcapValue()
-	{
-		return ecalEndcapValue;
-	}		
-    
-    public IIdentifier getBarrelId()
-    {
-    	return barrelId;
-    }
-    
-	public IIdentifier getEndcapPositiveId()
-	{
-		return endcapPositiveId;
-	}
-	
-    public IIdentifier getEndcapNegativeId()
-    {
-    	return endcapNegativeId;
-    }    
-        
-    public IIdentifier getVtxBarrelId()
-    {
-    	return vtxBarrelId;
-    }
-    
-    public IIdentifier getVtxEndcapId()
-    {
-        return vtxEndcapId;
-    }
-    public IIdentifier getVtxEndcapPositiveId()
-    {
-    	return vtxEndcapPositiveId;
-    }
-    
-    public IIdentifier getVtxEndcapNegativeId()
-    {
-    	return vtxEndcapNegativeId;
-    }   
- 
-    public IIdentifier getSitEndcapId()
-    {
-        return sitEndcapId;
-    }   
-    public IIdentifier getSitBarrelId()
-    {
-    	return sitBarrelId;
-    }
-    
-    public IIdentifier getSitEndcapPositiveId()
-    {
-    	return sitEndcapPositiveId;
-    }
-    
-    public IIdentifier getSitEndcapNegativeId()
-    {
-    	return sitEndcapNegativeId;
-    }    
-    
-    public IIdentifier getSitForwardId()
-    {
-    	return sitForwardId;
-    }
-    
-    public IIdentifier getSitForwardEndcapPositiveId()
-    {
-    	return sitForwardEndcapPositiveId;
-    }
-    
-    public IIdentifier getSitForwardEndcapNegativeId()
-    {
-    	return sitForwardEndcapNegativeId;
-    }
-    
-    public IIdentifier getTpcId()
-    {
-    	return tpcId;
-    }    
-    
-    public IIdentifier getEcalEndcapId()
-    {
-        return ecalEndcapId;
-    }
-    
-    public IIdentifier getEcalBarrelId()
-    {
-    	return ecalBarrelId;
-    }
-    
-    public IIdentifier getEcalEndcapNegativeId()
-    {
-    	return ecalEndcapNegativeId;
-    }
-    
-    public IIdentifier getEcalEndcapPositiveId()    
-    {
-    	return ecalEndcapPositiveId;
-    }    
-        
-    public IIdentifier getHcalBarrelId()
-    {
-    	return hcalBarrelId;
-    }
-    
-    public IIdentifier getHcalEndcapNegativeId()
-    {
-    	return hcalEndcapNegativeId;
-    }
-    
-    public IIdentifier getHcalEndcapPositiveId()
-    {
-    	return hcalEndcapPositiveId;
-    }       
-     
-    public IIdentifier getMuonBarrelId()
-    {
-    	return muonBarrelId;
-    }
-    public IIdentifier getMuonEndcapId()
-    {
-        return muonEndcapId;
-    }
-    public IIdentifier getMuonEndcapNegativeId()
-    {
-    	return muonEndcapNegativeId;
-    }
-    
-    public IIdentifier getMuonEndcapPositiveId()
-    {
-    	return muonEndcapPositiveId;
-    }       
- 
-    public IIdentifier getEcalForwardId()
-    {
-    	return ecalForwardId;
-    }    
-    
-    public IIdentifier getEcalForwardEndcapPositiveId()
-    {
-    	return ecalForwardEndcapPositiveId;
-    }
-    
-    public IIdentifier getEcalForwardEndcapNegativeId()
-    {
-    	return ecalForwardEndcapNegativeId;
-    }
-    
-    public IIdentifier getLumiId()
-    {
-    	return lumiId;
-    }
-    
-    public IIdentifier getLumiEndcapPositiveId()
-    {
-    	return lumiEndcapPositiveId;
-    }
-    
-    public IIdentifier getLumiEndcapNegativeId()
-    {
-    	return lumiEndcapNegativeId;
-    }    
-    
-    public boolean isBarrel(IIdentifier i)
-    {
-    	try {
-    		return unpack(i).getValue(barrelIndex) == barrelValue;
-    	}
-    	catch (InvalidIndexException x)
-    	{
-    		throw new RuntimeException(x);
-    	}
-    }
-    
-    public boolean isEndcap(IIdentifier i)
-    {
-    	return isEndcapPositive(i) || isEndcapNegative(i);
-    }
-    
-    public boolean isEndcapPositive(IIdentifier i)
-    {
-    	try {
-    		return unpack(i).getValue(barrelIndex) == endcapPositiveValue;
-    	}
-    	catch (InvalidIndexException x)
-    	{
-    		throw new RuntimeException(x);
-    	}
-    }
-    
-    public boolean isEndcapNegative(IIdentifier i)
-    {
-    	try {
-    		return unpack(i).getValue(barrelIndex) == endcapNegativeValue;
-    	}
-    	catch (InvalidIndexException x)
-    	{
-    		throw new RuntimeException(x);
-    	}
-    }    
-    
-    public boolean isTracker(IIdentifier i)
-    { 
-    	return isVtx(i) || isTpc(i) || isSit(i) || isSitForward(i);
-    }
-    
-    public boolean isTrackerBarrel(IIdentifier i)
-    {
-    	return isTracker(i) && isBarrel(i);
-    }
-    
-    public boolean isTrackerEndcap(IIdentifier i)
-    {
-    	return isTracker(i) && isEndcap(i);
-    }
-    
-    public boolean isTrackerEndcapPositive(IIdentifier i)
-    {
-    	return isTracker(i) && isEndcapPositive(i);
-    }
-    
-    public boolean isTrackerEndcapNegative(IIdentifier i)
-    {
-    	return isTracker(i) && isEndcapNegative(i);
-    }            
-    
-    public boolean isCalorimeter(IIdentifier i)
-    {
-    	return isEcal(i) || isHcal(i) || isMuon(i) || isEcalForward(i) || isLumi(i);
-    }
-            
-    public boolean isCalorimeterBarrel(IIdentifier i)
-    {
-    	return isCalorimeter(i) && isBarrel(i);
-    }
-    
-    public boolean isCalorimeterEndcap(IIdentifier i)
-    {
-    	return isCalorimeter(i) && isEndcap(i);
-    }
-    
-    public boolean isCalorimeterEndcapPositive(IIdentifier i)
-    {
-    	return isCalorimeter(i) && isEndcapPositive(i);
-    }
-    
-    public boolean isCalorimeterEndcapNegative(IIdentifier i)
-    {
-    	return isCalorimeter(i) && isEndcapNegative(i);
-    }
-    
-    public boolean isVtx(IIdentifier i)
-    {
-    	return compareSystem(i,vtxBarrelValue) || compareSystem(i,vtxEndcapValue);
-    }
-    
-    public boolean isVtxBarrel(IIdentifier i)
-    {
-    	return isVtx(i) && isBarrel(i);
-    }
-        
-    public boolean isVtxEndcap(IIdentifier i)
-    {
-    	return compareSystem(i,vtxEndcapValue) && isEndcap(i);
-    }
-    
-    public boolean isVtxEndcapPositive(IIdentifier i)
-    {
-    	return isVtx(i) && isEndcapPositive(i);
-    }
-    
-    public boolean isVtxEndcapNegative(IIdentifier i)
-    {
-    	return isVtx(i) && isEndcapNegative(i);
-    }    
-    
-    public boolean isSit(IIdentifier i)
-    {
-    	return compareSystem(i,sitBarrelValue) || compareSystem(i,sitEndcapValue);
-    }
-    
-    public boolean isSitBarrel(IIdentifier i)
-    {
-    	return isSit(i) && isBarrel(i);
-    }
-        
-    public boolean isSitEndcap(IIdentifier i)
-    {
-    	return isSit(i) && isEndcap(i);
-    }
-    
-    public boolean isSitEndcapPositive(IIdentifier i)
-    {
-    	return isSit(i) && isEndcapPositive(i);
-    }
-    
-    public boolean isSitEndcapNegative(IIdentifier i)
-    {
-    	return isSit(i) && isEndcapNegative(i);
-    }      
-    
-    public boolean isSitForward(IIdentifier i)
-    {
-    	return compareSystem(i,sitForwardValue);
-    }
-    
-    public boolean isSitForwardEndcapNegative(IIdentifier i)
-    {
-    	return isSitForward(i) && isEndcapNegative(i);
-    }
-    
-    public boolean isSitForwardEndcapPositive(IIdentifier i)
-    {
-    	return isSitForward(i) && isEndcapPositive(i);
-    }
-    
-    public boolean isTpc(IIdentifier i)
-    {
-    	return compareSystem(i,tpcValue);
-    }        
-    
-    public boolean isEcal(IIdentifier i)
-    {
-    	return compareSystem(i,ecalBarrelValue) || compareSystem(i,ecalEndcapValue);
-    }
-    
-    public boolean isEcalBarrel(IIdentifier i)
-    {
-    	return isEcal(i) && isBarrel(i);
-    }
-        
-    public boolean isEcalEndcap(IIdentifier i)
-    {
-    	return isEcal(i) && isEndcap(i);
-    }
-    
-    public boolean isEcalEndcapPositive(IIdentifier i)
-    {
-    	return isEcal(i) && isEndcapPositive(i);
-    }
-    
-    public boolean isEcalEndcapNegative(IIdentifier i)
-    {
-    	return isEcal(i) && isEndcapNegative(i);
-    }            
-    
-    public boolean isHcal(IIdentifier i)
-    {
-    	return compareSystem(i,hcalBarrelValue) || compareSystem(i,hcalEndcapValue);
-    }
-    
-    public boolean isHcalBarrel(IIdentifier i)
-    {
-    	return isHcal(i) && isBarrel(i);
-    }
-        
-    public boolean isHcalEndcap(IIdentifier i)
-    {
-    	return isHcal(i) && isEndcap(i);
-    }
-    
-    public boolean isHcalEndcapPositive(IIdentifier i)
-    {
-    	return isHcal(i) && isEndcapPositive(i);
-    }
-    
-    public boolean isHcalEndcapNegative(IIdentifier i)
-    {
-    	return isHcal(i) && isEndcapNegative(i);
-    }                
-    
-    public boolean isMuon(IIdentifier i)
-    {
-    	return compareSystem(i,muonBarrelValue) || compareSystem(i,muonEndcapValue);
-    }
-    
-    public boolean isMuonBarrel(IIdentifier i)
-    {
-    	return isMuon(i) && isBarrel(i);
-    }   
-    
-    public boolean isMuonEndcap(IIdentifier i)
-    {
-    	return isMuon(i) && isEndcap(i);
-    }
-    
-    public boolean isMuonEndcapPositive(IIdentifier i)
-    {
-    	return isMuon(i) && isEndcapPositive(i);
-    }
-    
-    public boolean isMuonEndcapNegative(IIdentifier i)
-    {
-    	return isMuon(i) && isEndcapNegative(i);
-    }       
-    
-    public boolean isEcalForward(IIdentifier i)
-    {
-    	return compareSystem(i,ecalForwardValue);
-    }
-    
-    public boolean isEcalForwardEndcapPositive(IIdentifier i)
-    {
-    	return isEcalForward(i) && isEndcapPositive(i);
-    }
-    
-    public boolean isEcalForwardEndcapNegative(IIdentifier i)
-    {
-    	return isEcalForward(i) && isEndcapNegative(i);
-    }       
-       
-    public boolean isLumi(IIdentifier i)
-    {
-    	return compareSystem(i,lumiValue);
-    }        
-        
-    public boolean isLumiEndcapPositive(IIdentifier i)
-    {
-    	return isLumi(i) && isEndcapPositive(i);
-    }
-    
-    public boolean isLumiEndcapNegative(IIdentifier i)
-    {
-    	return isLumi(i) && isEndcapNegative(i);
-    }
-    
-    public int getSystem(IIdentifier i)
-    {
-    	try {
-    		return unpack(i).getValue(systemIndex);
-    	}
-    	catch (InvalidIndexException x)
-    	{
-    		throw new RuntimeException(x);
-    	}
-    }
-    
-    public int getBarrel(IIdentifier i)
-    {
-    	try {
-    		return unpack(i).getValue(barrelIndex);
-    	}
-    	catch (InvalidIndexException x)
-    	{
-    		throw new RuntimeException(x);
-    	}
-    }
-    
-    public int getLayer(IIdentifier i)
-    {
-    	if (layerIndex == invalidIndex)
-    		throw new RuntimeException("The layer number is not available, because " + getIdentifierDictionary().getName() + " does not have a layer field!");
-    	try 
-    	{
-    		return unpack(i).getValue(layerIndex);
-    	}
-    	catch (InvalidIndexException x)
-    	{
-    		throw new RuntimeException(x);
-    	}
-    }
-    
-    public boolean layerEquals(IIdentifier i, int layer)
-    {
-    	return getLayer(i) == layer;
-    }
-    
-    public boolean systemEquals(IIdentifier i, int system)
-    {
-    	return getSystem(i) == system;
-    }
-    
-    public boolean barrelEquals(IIdentifier i, int barrel)
-    {
-    	return getBarrel(i) == barrel;
-    }
-    
-    public int getSystemIndex()
-    {
-    	return systemIndex;
-    }
-    
-    public int getLayerIndex()
-    {
-    	return layerIndex;
-    }
-    
-    public int getBarrelIndex()
-    {
-    	return barrelIndex;
-    }
-    
-    public int getInvalidIndex()
-    {
-    	return invalidIndex;
-    }
-}
CVSspam 0.2.8