Loading [MathJax]/extensions/tex2jax.js
Logo ROOT   6.12/07
Reference Guide
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
alien.C File Reference

Detailed Description

View in nbviewer Open in SWAN Example of use of the TAlien class (an implementation of TGrid)

void alien()
{
TString testdir = "root-test3";
int nfiles = 10;
// connect to AliEn
TGrid *alien = TGrid::Connect("alien", gSystem->Getenv("USER"), "",
"-domain=cern.ch");
if (alien->IsZombie()) {
delete alien;
return;
}
// get info on AliEn version
printf("Using AliEn version %s\n", alien->GetInfo());
// print current working directory
printf("Current directory is %s\n", alien->Pwd());
// check if directory exists
Long_t size, flags, modtime;
if (alien->GetPathInfo(testdir, &size, &flags, &modtime) == 0) {
// delete existing directory
alien->Rmdir(testdir);
}
// create a directory
alien->Mkdir(testdir);
// change directory
alien->Cd(testdir);
printf("Current directory is %s\n", alien->Pwd());
// insert nfiles into the catalog
Int_t i;
char lfn[32], pfn[256];
for (i = 0; i < nfiles; i++) {
sprintf(lfn, "test-%d.root", i);
sprintf(pfn, "rfio:/castor/cern.ch/user/r/rdm/mytest-%d.root", i);
alien->AddFile(lfn, pfn, 1000000000);
}
// list the contents of a directory
alien->ls("", "l");
// get physical file name from lfn
for (i = 0; i < nfiles; i++) {
sprintf(lfn, "test-%d.root", i);
char *pf = alien->GetPhysicalFileName(lfn);
if (i == nfiles-1)
printf("last pfn retrieved is: %s\n", pf);
delete [] pf;
}
delete alien;
}
Author
Andreas Peters

Definition in file alien.C.