]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PHOS/AliPHOSGridFile.h
Bug correction
[u/mrichter/AliRoot.git] / PHOS / AliPHOSGridFile.h
1 #ifndef ALIPHOSGRIDFILE_H
2 #define ALIPHOSGRIDFILE_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 //_________________________________________________________________________
7 // Description of logical filename in Grid catalogue
8 // check here : /afs/cern.ch/user/p/peters/public/README.GRID 
9 //*--                  
10 //*-- Author: Yves Schutz (CERN)
11
12 // --- ROOT system ---
13 #include "TObject.h" 
14 #include "TString.h" 
15 #include "TGrid.h" 
16
17 // --- AliRoot header files ---
18
19 class AliPHOSGridFile : public TObject {
20
21  public:
22   
23   AliPHOSGridFile(TString grid="alien") ; 
24   AliPHOSGridFile(AliPHOSGridFile & lfn) : TObject(lfn) {
25     lfn.Copy(*this) ; 
26   } 
27   virtual ~AliPHOSGridFile(void) ; 
28   virtual void Copy(AliPHOSGridFile & lfn) ;
29   
30   void ListEvents() const ; 
31   void ListRuns() const ; 
32   TString GetRootDir() const { return fRoot ; }
33   TString GetLFN() const ; 
34   void Help() ; 
35   Bool_t IsConnected() const {
36     Bool_t rv = kFALSE ; 
37     if(fGrid) 
38       rv = kTRUE ; 
39     return rv ; }
40   Bool_t SetYearProd(TString year, TString prod) ; 
41   Bool_t SetVers(TString vers) ; 
42   Bool_t SetType(TString type) ; 
43
44   Bool_t SetPath(TString year, TString prod, TString vers, TString type) ; 
45
46   Bool_t SetRun(Int_t run) ; 
47   Bool_t SetEvt(Int_t evt) ; 
48
49   TString Pwd() const { return fPath ; }
50
51   AliPHOSGridFile & operator = (const AliPHOSGridFile & /*rvalue*/)  {
52     // assignement operator requested by coding convention but not needed
53     Fatal("operator =", "not implemented") ;
54     return *this ; 
55   }
56   
57 private:
58   
59   TGrid * fGrid ; //! connection to alien data catalogue 
60   TString fRoot ; //! root directory
61   TString fYear ; //! year of the DC 
62   TString fProd ; //! production id 
63   TString fVers ; //! aliroot tag version
64   TString fType ; //! event type
65   TString fRun  ; //! run number
66   TString fEvt  ; //! event number
67   TString fPath ; //! the lfn is fRoot/fYear/fProd/fVers/fType/fRun/fEvt
68  
69
70   ClassDef(AliPHOSGridFile,1)  
71     
72     };
73
74 #endif // AliPHOSGRIDFILE_H
75