00001 //------------------------------------------------------------- 00002 // Go4 Release Package v3.04-01 (build 30401) 00003 // 28-November-2008 00004 //--------------------------------------------------------------- 00005 // The GSI Online Offline Object Oriented (Go4) Project 00006 // Experiment Data Processing at EE department, GSI 00007 //--------------------------------------------------------------- 00008 // 00009 //Copyright (C) 2000- Gesellschaft f. Schwerionenforschung, GSI 00010 // Planckstr. 1, 64291 Darmstadt, Germany 00011 //Contact: http://go4.gsi.de 00012 //---------------------------------------------------------------- 00013 //This software can be used under the license agreements as stated 00014 //in Go4License.txt file which is part of the distribution. 00015 //---------------------------------------------------------------- 00016 #ifndef TGO4PARAMETERMEMBER_H 00017 #define TGO4PARAMETERMEMBER_H 00018 00019 #include "TNamed.h" 00020 00021 class TGo4ParameterMember : public TNamed { 00022 public: 00023 00024 enum { kTString_t = 10001, kTGo4Fitter_t = 10002 }; 00025 00026 TGo4ParameterMember(); 00027 TGo4ParameterMember(const char* name, const char* title); 00028 virtual ~TGo4ParameterMember(); 00029 00030 void SetType(const char* name, Int_t id) { fTypeName = name; fTypeId = id; } 00031 const char* GetTypeName() const { return fTypeName.Data(); } 00032 Int_t GetTypeId() const { return fTypeId; } 00033 Bool_t IsFitterItem() const { return GetTypeId()==kTGo4Fitter_t; } 00034 00035 void SetMemberId(Int_t id) { fMemberId = id; } 00036 Int_t GetMemberId() const { return fMemberId; } 00037 00038 void SetStrValue(const char* value) { fValue = value; } 00039 const char* GetStrValue() const { return fValue.Data(); } 00040 Bool_t CanStrEdit() const { return fTypeId!=kTGo4Fitter_t; } 00041 00042 void SetArrayIndexes(Int_t ndim=0, Int_t indx1 = -1, Int_t indx2 = -1); 00043 Bool_t CheckArrayIndexes(Int_t ndim, Int_t indx1, Int_t indx2); 00044 Bool_t IsArrayItem() const { return (fIndex1>=0); } 00045 const char* GetFullName(TString& buf); 00046 00047 void SetVisible(Bool_t on = kTRUE) { fVisible = on; } 00048 Bool_t IsVisible() const { return fVisible; } 00049 00050 TObject* GetObject() const { return fObject; } 00051 void SetObject(TObject* obj, Bool_t owner); 00052 00053 void SetValue(char* addr); 00054 void GetValue(char* addr); 00055 00056 00057 protected: 00058 00059 TString fTypeName; // type name of data member 00060 Int_t fTypeId; // type id of data member 00061 Int_t fMemberId; // data member id (sequence number) 00062 TString fValue; // value of data member 00063 Int_t fIndex1; // first array index 00064 Int_t fIndex2; // second array index 00065 TObject* fObject; // place for objects like fitter 00066 Bool_t fObjectOwner; 00067 Bool_t fVisible; // is visible, used by GUI 00068 00069 ClassDef(TGo4ParameterMember, 1); 00070 }; 00071 00072 00073 #endif 00074 00075 //----------------------------END OF GO4 SOURCE FILE ---------------------