ROOT logo
void SurveyAliSurveyObjExample(const char* user, const char* det, Int_t repNum, Int_t ver)
{
    // Example of use of AliSurveyObj functionality
    // user is the alien user allowing to connect to alien and open there the survey parsed file
    // repNum is the report number and ver it's version
    // As an example you could run this macro with the following line:
    // aliroot -b -q $ALICE_ROOT/macros/SurveyAliSurveyObjExample.C("myalienusername","TPC",818098,1)
    //

    AliSurveyObj *so = new AliSurveyObj();

    Int_t size = so->GetEntries();
    printf("-> %d\n", size);

    //  The survey object can be filled from local file or from the survey depot in alien.
    //  The following commented lines show an example, then we will use the second option.
    //  For this reason the alien user is required as argument.
    //  so->FillFromLocalFile("~/survey/real_data/Survey_781282_HMPID.txt");
    //  size = so->GetEntries();
    //  printf("--> %d\n", size);

    //  so->Fill("TRD", 2007, 816582, 1); 
    //  size = so->GetEntries();
    //  printf("----> %d\n", size);

    so->Fill(det, repNum, ver, user);
    size = so->GetEntries();
    printf("---> %d\n", size);

    Printf("Title: \"%s\"", so->GetReportTitle().Data());
    Printf("Date: \"%s\"", so->GetReportDate().Data());
    Printf("Detector: \"%s\"", so->GetDetector().Data());
    Printf("URL: \"%s\"", so->GetURL().Data());
    Printf("Number: \"%d\"", so->GetReportNumber());
    Printf("Version: \"%d\"", so->GetReportVersion());
    Printf("Observations: \"%s\"", so->GetObservations().Data());
    Printf("Coordinate System: \"%s\"", so->GetCoordSys().Data());
    Printf("Measurement Units: \"%s\"", so->GetUnits().Data());
    Printf("Nr Columns: \"%d\"", so->GetNrColumns());

    TObjArray *colNames = so->GetColumnNames();
    for (Int_t i = 0; i < colNames->GetEntries(); ++i)
	Printf("  Column %d --> \"%s\"", i, ((TObjString *) colNames->At(i))->GetString().Data());

    Printf("Points:");
    TObjArray *points = so->GetData();
    for (Int_t i = 0; i < points->GetEntries(); ++i)
	Printf("  Point %d --> \"%s\"", i, ((AliSurveyPoint *) points->At(i))->GetPointName().Data());

    // See "STEER/AliSurveyPoint.h" for more getters

    return;
}
 SurveyAliSurveyObjExample.C:1
 SurveyAliSurveyObjExample.C:2
 SurveyAliSurveyObjExample.C:3
 SurveyAliSurveyObjExample.C:4
 SurveyAliSurveyObjExample.C:5
 SurveyAliSurveyObjExample.C:6
 SurveyAliSurveyObjExample.C:7
 SurveyAliSurveyObjExample.C:8
 SurveyAliSurveyObjExample.C:9
 SurveyAliSurveyObjExample.C:10
 SurveyAliSurveyObjExample.C:11
 SurveyAliSurveyObjExample.C:12
 SurveyAliSurveyObjExample.C:13
 SurveyAliSurveyObjExample.C:14
 SurveyAliSurveyObjExample.C:15
 SurveyAliSurveyObjExample.C:16
 SurveyAliSurveyObjExample.C:17
 SurveyAliSurveyObjExample.C:18
 SurveyAliSurveyObjExample.C:19
 SurveyAliSurveyObjExample.C:20
 SurveyAliSurveyObjExample.C:21
 SurveyAliSurveyObjExample.C:22
 SurveyAliSurveyObjExample.C:23
 SurveyAliSurveyObjExample.C:24
 SurveyAliSurveyObjExample.C:25
 SurveyAliSurveyObjExample.C:26
 SurveyAliSurveyObjExample.C:27
 SurveyAliSurveyObjExample.C:28
 SurveyAliSurveyObjExample.C:29
 SurveyAliSurveyObjExample.C:30
 SurveyAliSurveyObjExample.C:31
 SurveyAliSurveyObjExample.C:32
 SurveyAliSurveyObjExample.C:33
 SurveyAliSurveyObjExample.C:34
 SurveyAliSurveyObjExample.C:35
 SurveyAliSurveyObjExample.C:36
 SurveyAliSurveyObjExample.C:37
 SurveyAliSurveyObjExample.C:38
 SurveyAliSurveyObjExample.C:39
 SurveyAliSurveyObjExample.C:40
 SurveyAliSurveyObjExample.C:41
 SurveyAliSurveyObjExample.C:42
 SurveyAliSurveyObjExample.C:43
 SurveyAliSurveyObjExample.C:44
 SurveyAliSurveyObjExample.C:45
 SurveyAliSurveyObjExample.C:46
 SurveyAliSurveyObjExample.C:47
 SurveyAliSurveyObjExample.C:48
 SurveyAliSurveyObjExample.C:49
 SurveyAliSurveyObjExample.C:50
 SurveyAliSurveyObjExample.C:51
 SurveyAliSurveyObjExample.C:52
 SurveyAliSurveyObjExample.C:53
 SurveyAliSurveyObjExample.C:54