Logo ROOT   6.12/07
Reference Guide
alien.C
Go to the documentation of this file.
1 /// \file
2 /// \ingroup tutorial_net
3 /// \notebook -nodraw
4 /// Example of use of the TAlien class (an implementation of TGrid)
5 ///
6 /// \macro_code
7 ///
8 /// \author Andreas Peters
9 
10 void alien()
11 {
12  TString testdir = "root-test3";
13  int nfiles = 10;
14 
15  // connect to AliEn
16  TGrid *alien = TGrid::Connect("alien", gSystem->Getenv("USER"), "",
17  "-domain=cern.ch");
18  if (alien->IsZombie()) {
19  delete alien;
20  return;
21  }
22 
23  // get info on AliEn version
24  printf("Using AliEn version %s\n", alien->GetInfo());
25 
26  // print current working directory
27  printf("Current directory is %s\n", alien->Pwd());
28 
29  // check if directory exists
30  Long_t size, flags, modtime;
31  if (alien->GetPathInfo(testdir, &size, &flags, &modtime) == 0) {
32  // delete existing directory
33  alien->Rmdir(testdir);
34  }
35 
36  // create a directory
37  alien->Mkdir(testdir);
38 
39  // change directory
40  alien->Cd(testdir);
41 
42  printf("Current directory is %s\n", alien->Pwd());
43 
44  // insert nfiles into the catalog
45  Int_t i;
46  char lfn[32], pfn[256];
47  for (i = 0; i < nfiles; i++) {
48  sprintf(lfn, "test-%d.root", i);
49  sprintf(pfn, "rfio:/castor/cern.ch/user/r/rdm/mytest-%d.root", i);
50  alien->AddFile(lfn, pfn, 1000000000);
51  }
52 
53  // list the contents of a directory
54  alien->ls("", "l");
55 
56  // get physical file name from lfn
57  for (i = 0; i < nfiles; i++) {
58  sprintf(lfn, "test-%d.root", i);
59  char *pf = alien->GetPhysicalFileName(lfn);
60  if (i == nfiles-1)
61  printf("last pfn retrieved is: %s\n", pf);
62  delete [] pf;
63  }
64 
65  delete alien;
66 }
virtual Bool_t Rmdir(const char *="", Option_t *="", Bool_t=kFALSE)
Definition: TGrid.h:95
Basic string class.
Definition: TString.h:125
int Int_t
Definition: RtypesCore.h:41
virtual Bool_t Cd(const char *="", Bool_t=kFALSE)
Definition: TGrid.h:91
static TGrid * Connect(const char *grid, const char *uid=0, const char *pw=0, const char *options=0)
The grid should be of the form: <grid>://<host>[:<port>], e.g.
Definition: TGrid.cxx:50
virtual Int_t Mkdir(const char *="", Option_t *="", Bool_t=kFALSE)
Definition: TGrid.h:93
virtual const char * Getenv(const char *env)
Get environment variable.
Definition: TSystem.cxx:1638
virtual void ls(Option_t *option="") const
The ls function lists the contents of a class on stdout.
Definition: TObject.cxx:492
R__ALWAYS_INLINE Bool_t IsZombie() const
Definition: TObject.h:134
R__EXTERN TSystem * gSystem
Definition: TSystem.h:540
virtual const char * Pwd(Bool_t=kFALSE)
Definition: TGrid.h:87
long Long_t
Definition: RtypesCore.h:50
Definition: TGrid.h:45