I would say lets wait for the full sdk before attempting but here:
It depends upon what you want. GB did a good job of explaining it (cant
believe I just said that). Only make sure you have the train facing
east (or west I cant remember at the moment) in world craft so it know
where the front is and where the back is.
you can use a func_tracktrain to make it controlable by the user with a
control, or you can use a func_train to make it just follow a path that
is triggered to make it move (what you want to use I believe). Here you
do what GB said and place the train with its origin where you want the
first path_track. And give it a name so you can activate it some how,
and as the first stop where you the train to start at.
Now how do you want the train to move? If you want it to turn toward to
where you want it to go you use "path_track". And here ill expand on
what GB said:
Path_track 1:
name: a1
next stop:a2
path_track 2:
name: a2
next stop: a3
path_track 3:
name: a3
next stop: a4
etc.... Now if you want it to loop around then you have a loop of path
tracks and have your last one...maybe path track 20 have its next stop
field the name of your first (if you followed my example then that
would be a1). You can also use the path tool that comes with hammer,
but im a little skechy on it.
Im basing this off of the notion that HL2 mapping is simmilar (train
wise) to HL1, also check out:
http://collective.valve-erc.com/index.php?ent=func_train for further
info on trains.
edit:/// found out that there is only track train to use, no func_train, so do what I sain with func_tracktrain.