]> git.uio.no Git - u/mrichter/AliRoot.git/blame - STEER/AliSurveyObj.h
To test the retrieval and storage of raw tag files, return in case of DCS problems...
[u/mrichter/AliRoot.git] / STEER / AliSurveyObj.h
CommitLineData
324b1730 1#ifndef ALI_SURVEY_OBJ_H
2#define ALI_SURVEY_OBJ_H
3
4/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
6
7/////////////////////////////////////////////////////////////////////
8// //
9// class AliSurveyObj //
10// Retrieve and Convert survey data into ROOT Objects //
11// //
12/////////////////////////////////////////////////////////////////////
13
14#include <TObject.h>
15//#include <sstream>
16
17#include <TString.h>
18#include <TObjArray.h>
19
20//#include "AliLog.h"
68e43693 21//#include "AliSurveyPoint.h"
22class AliSurveyPoint;
324b1730 23
75cab1ea 24class TGridResult;
25
324b1730 26class AliSurveyObj: public TObject {
27
28 public:
29 AliSurveyObj();
30 ~AliSurveyObj();
573b6a5a 31 Bool_t FillFromLocalFile(const Char_t* filename);
75cab1ea 32 Bool_t Fill(TString detector, Int_t reportNumber,
33 Int_t reportVersion, TString username = "");
34 Bool_t Fill(TString detector, Int_t reportNumber,
35 TString username = "");
36
37 static void ListValidDetectors();
38 Int_t ListReports(TString detector = "", Int_t year = -1,
39 Int_t reportNumber = -1,
40 Int_t reportVersion = -1);
41
42 void SetGridUser(TString username);
737100a1 43
44 // Number of points (AliSurveyPoint) in the TObjArray
324b1730 45 Int_t GetEntries() const {return fDataPoints->GetEntries();};
573b6a5a 46
47 TString GetReportTitle() const {return fTitle;};
48 TString GetReportDate() const {return fDate;};
49 TString GetDetector() const {return fDetector;};
50 TString GetURL() const {return fURL;};
51 Int_t GetReportNumber() const {return fReportNr;};
52 Int_t GetReportVersion() const {return fVersion;};
737100a1 53
54 // General comments and observations
573b6a5a 55 TString GetObservations() const {return fObs;};
737100a1 56
57 // Coordinate system used for the measurements
573b6a5a 58 TString GetCoordSys() const {return fCoordSys;};
737100a1 59
60 // Units used in the measurement
573b6a5a 61 TString GetUnits() const {return fUnits;};
737100a1 62
63 // Number of columns read from file (in the "Data" section)
573b6a5a 64 Int_t GetNrColumns() const {return fNrColumns;};
737100a1 65
66 // TObjArray with the names of the columns read
573b6a5a 67 TObjArray *GetColumnNames() const {return fColNames.Tokenize(',');};
737100a1 68
69 // TObjArray with the points read (AliSurveyPoint)
573b6a5a 70 TObjArray *GetData() const {return fDataPoints;};
71
324b1730 72 Bool_t IsValid() const {return fIsValid;};
73
74
75 private:
76 TString fTitle; // Report Title
77 TString fDate; // Report Date
78 TString fDetector; // Subdetector (or structure) surveyed
79 TString fURL; // Report URL in EDMS
80 Int_t fReportNr; // Report Number
81 Int_t fVersion; // Report Version
82 TString fObs; // General observations / comments
83 TString fCoordSys; // Measurements coordinate system
84 TString fUnits; // Measurements units
85 Int_t fNrColumns; // Number of columns in data values
86 TString fColNames; // Column names sepparated by commas
87 Bool_t fIsValid; // Is the data valid? (sucessfully parsed)
737100a1 88 TString fGridUser; // Username to be used for the connection to GRID
324b1730 89
90 TObjArray *fDataPoints; // Actual Data
91
68e43693 92 static const TString fgkStorage; // Storage
93 static const TString fgkBaseFolder; // Base folder
94 static const TString fgkValidDetectors;// Valid detectors
95 static const TString fgkGRPDetectors;// GRP detectors
96 static const TString fgkMUONDetectors;// MUON detectors
75cab1ea 97
324b1730 98 Bool_t Connect(const char *gridUrl, const char *user);
99 Bool_t OpenFile(TString openString);
100 TString &Sanitize(TString str);
101 Bool_t ParseBuffer(const Char_t* buf);
adfef030 102 void Reset();
75cab1ea 103 Bool_t IsValidDetector(TString detector) const;
104 TString RealFolderName(TString detector) const;
105 TString FileNamePathToDetector(TString filename) const;
106 Int_t FileNamePathToReportYear(TString filename) const;
107 Int_t FileNamePathToReportNumber(TString filename) const;
108 Int_t FileNamePathToReportVersion(TString filename) const;
109 TGridResult *QueryReports(TString detector, Int_t year,
110 Int_t reportNumber, Int_t reportVersion);
adfef030 111
737100a1 112 AliSurveyObj (const AliSurveyObj& surveyObj);
113 AliSurveyObj& operator=(const AliSurveyObj& surveyObj);
324b1730 114 void AddPoint(AliSurveyPoint* point);
adfef030 115
324b1730 116 ClassDef(AliSurveyObj, 1);
117};
118
119#endif