/*
* JScience - Java(TM) Tools and Libraries for the Advancement of Sciences.
* Copyright (C) 2006 - JScience (http://jscience.org/)
* All rights reserved.
*
* Permission to use, copy, modify, and distribute this software is
* freely granted, provided that this notice is preserved.
*/
package org.jscience.physics.model;
import javax.measure.converter.RationalConverter;
import javax.measure.converter.UnitConverter;
import javax.measure.unit.BaseUnit;
import javax.measure.unit.Dimension;
import javax.measure.unit.SI;
/**
* This class represents the relativistic model.
*
* @author Jean-Marie Dautelle
* @version 3.1, April 22, 2006
*/
public class RelativisticModel extends PhysicalModel {
/**
* Holds the meter to time transform.
*/
private static RationalConverter METRE_TO_TIME
= new RationalConverter(1, 299792458);
/**
* Holds the single instance of this class.
*/
private final static RelativisticModel INSTANCE = new RelativisticModel();
/**
* Selects the relativistic model as the current model.
*/
public static void select() {
PhysicalModel.setCurrent(INSTANCE);
}
// Implements Dimension.Model
public Dimension getDimension(BaseUnit> unit) {
if (unit.equals(SI.METRE)) return Dimension.TIME;
return Dimension.Model.STANDARD.getDimension(unit);
}
// Implements Dimension.Model
public UnitConverter getTransform(BaseUnit> unit) {
if (unit.equals(SI.METRE)) return METRE_TO_TIME;
return Dimension.Model.STANDARD.getTransform(unit);
}
}
Ads help maintain this website.