1 //=================================================
3 // last modified FK 6.NOV 2009
4 //=================================================
17 #include <TObjArray.h>
18 #include <TObjString.h>
22 #include <THashList.h>
26 #ifndef AliJMaxDimBuffer
27 #define AliJMaxDimBuffer
28 const int kMaxDimBuffer = 300;//max length of a line read to a buffe
33 //==== M e m b e r F u n c t i o n s ========
37 AliJBaseCard(); // constructor
38 AliJBaseCard(const char *filename); // constructor
39 AliJBaseCard& operator=(const AliJBaseCard& obj);
41 virtual ~AliJBaseCard();
43 void AddToKeyTable( TString key, int index ){
44 TNamed * ko = new TNamed(key.Data(),"");
45 ko->SetUniqueID(index);
46 fKeyTable.Add(ko);// TODO check duplicate
49 float Get(TString keyword, int VectorComponent=0); //get TVector component
50 TString GetStr(TString keyword ); //get TVector component
51 TVector* GetVector( TString keyword );
52 int GetN(TString keyword); //get TVector dimension
54 void WriteCard(TFile *file);
56 virtual void InitCard();
57 void FinishCard() const {cout << "card finished" << endl;};
58 void ReadInputLine( const char* buffer );
63 int GetNwithIndex(int i){ return fValuesVector[i].GetNrows(); }
65 unsigned int GetTVectorIndex(TString keyword, int tol=0);
67 //==== D a t a M e m b e r s ========
69 char fcardname[255]; // file name
70 int fnentry; //Number of lines in cfg file
71 std::vector< TString > fKeyWordVector; //array of key words
72 std::vector< TVector > fValuesVector; //array of float number confg parameter vectors
73 std::vector< TString > fValueString; // Storage of raw inut string for each item
74 //std::map< TString, unsigned int > MapKeyWordToTVector;//mapping keywords to TVector
75 THashList fKeyTable; // key map with hash algorithm
77 //ClassDef(AliJBaseCard, 1); // EMCAL for jcorran