{
//gSystem->Load("libmsg.so");
//gSystem->Load("libPlex.so");
//gSystem->Load("librawdata.so");
//gSystem->Load("libValid.so");

// TVector3 in libPhysics
gSystem->Load("libPhysics.so");
gSystem->Load("libMessageService.so");
gSystem->Load("libConventions.so");
gSystem->Load("libValidity.so");
gSystem->Load("libBField.so");

//BfldValidate v(1,120);
BfldValidate v;

cout << endl << endl 
     << " ========= TestLoanPool =============== "
     << endl << endl;
v.TestLoanPool();

cout << endl << endl 
     << " ========= TestInterpMethods =============== "
     << endl << endl;
v.TestInterpMethods();

cout << endl << endl 
     << " ========= DrawMap =============== "
     << endl << endl;

Int_t coarseness = -1;
Int_t imap = 142;
Float_t x0 = 0;
Float_t y0 = 0;
Float_t half = 375 * Munits::cm;
Float_t spacing = 5 * Munits::cm;
Int_t method = 0;

cout << " Draw map " << imap << " centered on (" << x0 << "," << y0 << ") "
     << " half = " << half << ", spacing = " << spacing
     << ", interp method = " << method << endl;
v.DrawMap(coarseness,imap,x0,y0,half,spacing,method);

cout << endl << endl 
     << " ========= BfldLoanPool::Print() =============== "
     << endl << endl;

//BfldLoanPool *loanpool = BfldLoanPool::Instance();
//loanpool->Print();
BfldLoanPool::Instance()->Print();

}

