Logo ROOT   6.16/01
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
10void 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}
int Int_t
Definition: RtypesCore.h:41
long Long_t
Definition: RtypesCore.h:50
R__EXTERN TSystem * gSystem
Definition: TSystem.h:540
Definition: TGrid.h:45
virtual Bool_t Cd(const char *="", Bool_t=kFALSE)
Definition: TGrid.h:91
virtual const char * Pwd(Bool_t=kFALSE)
Definition: TGrid.h:87
virtual Int_t Mkdir(const char *="", Option_t *="", Bool_t=kFALSE)
Definition: TGrid.h:93
virtual Bool_t Rmdir(const char *="", Option_t *="", Bool_t=kFALSE)
Definition: TGrid.h:95
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
R__ALWAYS_INLINE Bool_t IsZombie() const
Definition: TObject.h:134
virtual void ls(Option_t *option="") const
The ls function lists the contents of a class on stdout.
Definition: TObject.cxx:492
Basic string class.
Definition: TString.h:131
virtual const char * Getenv(const char *env)
Get environment variable.
Definition: TSystem.cxx:1652