TVirtualGeoTrack array?

Hi all,
I was going through writing particle tracks using a for-loop (same particle, different position). Anyways, is it possible to define an array track, and get it returned in a method as follows…

TVirtualGeoTrack giveTracks (char filename) {
TVirtualGeoTrack *trackNo[6];
Int_t track_index[6];
for (Int_t i = 0; i < 6 < i++) {
track_index[i] = gGeoManager->AddTrack(id,pdg,particle);
gGeoManager->SetCurrentTrack(track_index[i])l
trackNo[i] = gGeoManager->GetCurrentTrack();
trackNo[i]->AddPoint(0,0,0);
//and so on…
}
return giveTracks;
}

And forgot to mention this; I tried doing the above, but returning Int_t track_index instead. Somehow it gave back weird track indices. This leads me wondering if the above code actually works or not.
Thanks you,

S.