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(TDirectory *file);
56 virtual void InitCard();
58 void ReadInputLine( const char* buffer );
59 void ReadLine( const char * buffer );
64 int GetNwithIndex(int i){ return fValuesVector[i].GetNrows(); }
66 unsigned int GetTVectorIndex(TString keyword, int tol=0);
68 //==== D a t a M e m b e r s ========
70 char fcardname[255]; // file name
71 int fnentry; //Number of lines in cfg file
72 std::vector< TString > fKeyWordVector; //array of key words
73 std::vector< TVector > fValuesVector; //array of float number confg parameter vectors
74 std::vector< TString > fValueString; // Storage of raw inut string for each item
75 //std::map< TString, unsigned int > MapKeyWordToTVector;//mapping keywords to TVector
76 THashList fKeyTable; // key map with hash algorithm
78 //ClassDef(AliJBaseCard, 1); // EMCAL for jcorran