]> git.uio.no Git - u/mrichter/AliRoot.git/blob - STEER/AliSurveyObj.h
Missing getters added and a a couple of bugs when parsing the (raw)survey file corrected
[u/mrichter/AliRoot.git] / STEER / AliSurveyObj.h
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"
21 #include "AliSurveyPoint.h"
22
23 class AliSurveyObj: public TObject {
24
25  public:
26   AliSurveyObj();
27   ~AliSurveyObj();
28   Bool_t FillFromLocalFile(const Char_t* filename);
29   Bool_t Fill(TString detector, Int_t reportNumber, Int_t reportVersion);
30
31   
32   Int_t GetEntries() const {return fDataPoints->GetEntries();};
33
34   TString GetReportTitle() const {return fTitle;};
35   TString GetReportDate() const {return fDate;};
36   TString GetDetector() const {return fDetector;};
37   TString GetURL() const {return fURL;};
38   Int_t GetReportNumber() const {return fReportNr;};
39   Int_t GetReportVersion() const {return fVersion;};
40   TString GetObservations() const {return fObs;};
41   TString GetCoordSys() const {return fCoordSys;};
42   TString GetUnits() const {return fUnits;};
43   Int_t GetNrColumns() const {return fNrColumns;};
44   TObjArray *GetColumnNames() const {return fColNames.Tokenize(',');};
45   TObjArray *GetData() const {return fDataPoints;};
46
47   Bool_t IsValid() const {return fIsValid;};
48
49   
50  private:
51   TString fTitle;     // Report Title
52   TString fDate;      // Report Date
53   TString fDetector;  // Subdetector (or structure) surveyed
54   TString fURL;       // Report URL in EDMS
55   Int_t fReportNr;    // Report Number
56   Int_t fVersion;     // Report Version
57   TString fObs;       // General observations / comments
58   TString fCoordSys;  // Measurements coordinate system
59   TString fUnits;     // Measurements units
60   Int_t fNrColumns;   // Number of columns in data values
61   TString fColNames;  // Column names sepparated by commas
62   Bool_t fIsValid;    // Is the data valid? (sucessfully parsed)
63   
64   TObjArray *fDataPoints;       // Actual Data
65   
66   Bool_t Connect(const char *gridUrl, const char *user);
67   Bool_t OpenFile(TString openString);
68   TString &Sanitize(TString str);
69   Bool_t ParseBuffer(const Char_t* buf);
70   AliSurveyObj (const AliSurveyObj& surveyObj);            // copy constructor
71   AliSurveyObj& operator=(const AliSurveyObj& surveyObj);  // assignment operator 
72   void AddPoint(AliSurveyPoint* point);
73   ClassDef(AliSurveyObj, 1);
74 };
75
76 #endif