/////////////////////////////////////////////////////////////////////
#include <TObject.h>
-//#include <sstream>
#include <TString.h>
#include <TObjArray.h>
-//#include "AliLog.h"
-#include "AliSurveyPoint.h"
+class AliSurveyPoint;
+class TGridResult;
class AliSurveyObj: public TObject {
AliSurveyObj();
~AliSurveyObj();
Bool_t FillFromLocalFile(const Char_t* filename);
- Bool_t Fill(TString detector, Int_t reportNumber, Int_t reportVersion);
+ Bool_t Fill(TString detector, Int_t reportNumber,
+ Int_t reportVersion, TString username = "");
+ Bool_t Fill(TString detector, Int_t reportNumber,
+ TString username = "");
-
+ static void ListValidDetectors();
+ Int_t ListReports(TString detector = "", Int_t year = -1,
+ Int_t reportNumber = -1,
+ Int_t reportVersion = -1);
+
+ void SetGridUser(TString username);
+
+ // Number of points (AliSurveyPoint) in the TObjArray
Int_t GetEntries() const {return fDataPoints->GetEntries();};
TString GetReportTitle() const {return fTitle;};
TString GetURL() const {return fURL;};
Int_t GetReportNumber() const {return fReportNr;};
Int_t GetReportVersion() const {return fVersion;};
+
+ // General comments and observations
TString GetObservations() const {return fObs;};
+
+ // Coordinate system used for the measurements
TString GetCoordSys() const {return fCoordSys;};
+
+ // Units used in the measurement
TString GetUnits() const {return fUnits;};
+
+ // Number of columns read from file (in the "Data" section)
Int_t GetNrColumns() const {return fNrColumns;};
+
+ // TObjArray with the names of the columns read
TObjArray *GetColumnNames() const {return fColNames.Tokenize(',');};
+
+ // TObjArray with the points read (AliSurveyPoint)
TObjArray *GetData() const {return fDataPoints;};
Bool_t IsValid() const {return fIsValid;};
Int_t fNrColumns; // Number of columns in data values
TString fColNames; // Column names sepparated by commas
Bool_t fIsValid; // Is the data valid? (sucessfully parsed)
+ TString fGridUser; // Username to be used for the connection to GRID
TObjArray *fDataPoints; // Actual Data
+ static const TString fgkStorage; // Storage
+ static const TString fgkBaseFolder; // Base folder
+ static const TString fgkValidDetectors;// Valid detectors
+ static const TString fgkGRPDetectors;// GRP detectors
+ static const TString fgkMUONDetectors;// MUON detectors
+
Bool_t Connect(const char *gridUrl, const char *user);
Bool_t OpenFile(TString openString);
TString &Sanitize(TString str);
Bool_t ParseBuffer(const Char_t* buf);
- AliSurveyObj (const AliSurveyObj& surveyObj); // copy constructor
- AliSurveyObj& operator=(const AliSurveyObj& surveyObj); // assignment operator
+ void Reset();
+ Bool_t IsValidDetector(TString detector) const;
+ TString RealFolderName(TString detector) const;
+ TString FileNamePathToDetector(TString filename) const;
+ Int_t FileNamePathToReportYear(TString filename) const;
+ Int_t FileNamePathToReportNumber(TString filename) const;
+ Int_t FileNamePathToReportVersion(TString filename) const;
+ TGridResult *QueryReports(TString detector, Int_t year,
+ Int_t reportNumber, Int_t reportVersion);
+
+ AliSurveyObj (const AliSurveyObj& surveyObj);
+ AliSurveyObj& operator=(const AliSurveyObj& surveyObj);
void AddPoint(AliSurveyPoint* point);
+
ClassDef(AliSurveyObj, 1);
};