You can use this function to create a normal tube:
TethysGame::CreateWallOrTube(int tileX, int tileY, int, enum map_id wallTubeType);
I can't remember what the third param is in that function though.
Or do what the function does manualy (and have a bit more control):
TethysGame::SetTile(struct LOCATION where, int what);
TethysGame::SetCellType(struct LOCATION where, int what);
The "int what" variable in the last two are taken from the mapper for tiles, and from the NonExportedEnums.h file for cell types.
Technicaly a tube is just a cell type with a graphic pasted on top, however you should always give it the correct tile, because tile transformations might be messed up if units ever mess with the tile.