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