Make data members in tensor protected instead of private