I have included some of my recorded GPS Tracks in EveryTrail service. They will become available in GoogleEarth. |
 |
CHEP’09 has ended. I think, it was a success.
I had a summary talk about my track Software Components, Tools and Databases.
The conference dinner took place in Zofin palace with very nice music from Havelka’ Sisters. |
 |
 |
Athenaeum now contains tag extraction command. It is available in all interfaces, especially via command line and Web Service:
athenaeum http://lxvm0341.cern.ch:10001 *** Extract params.py
|
 |
other posts about Athenaeum
Cool browsing now works with Athenaeum 2.0. The general entry point is at Athenaeum Web Service page. Direct access is also possible using special style URL. |
Simple example shows payloads from /Indet/TrkErrorScaling folder (which is highlighted in the list of folders). By clicking on various elements, you will get more details. In some cases, additional details will be requested from the server (i.e. new interaction will be launched). This example doesn’t need full Athena server, simple PyCool server is enough because payloads are fully available from the SQL database.

|
More complex example shows a typical Cool database content with (partial) LAr payload for /LAR/ElecCalib/Ramps/Ramp folder. Note, that the server should run full Athena (not only PyCool) to get detailed payloads. The response may be slow depending on access delay to the PoolRoot file. Other delay may be caused by the fact, that while Athenaeum server is fully multithreading, Athena can only serve one client. Also, Athena may crash.
The Athenaeum Web Service panel corresponding to this task is shown on the righ. |
 |
The URL looks like this:
http://cern.ch/Athenaeum/Cool.jsp?
url=http://voatlas16.cern.ch:54321&
key=atlas_standard_password&
server=oracle://ATLAS_COOLPROD&
dbname=COMP200&
schema=ATLAS_COOLONL_LAR&
user=&
password=&
lod=everything&
showPoolRef=false&
folders=/LAR/ElecCalib/Ramps/Ramp&
tags=LARElecCalibRampsRamp-comm-01&
channels=&
startTime=&
stopTime=&
startRun=0&
startLumi=0&
stopRun=2147483647&
stopLumi=4294967295&
payloadLimit=2&
format=HTML
|
Direct access from a command line is also available, as described in previous posts: New Athenaeum command available and Athenaeum with Cool Payloads. |
other posts about Athenaeum
 |
New version of Athenaeum has been released. Major changes are:
- Support for JAS has been stopped due to very little demand from users and even smaller support from JAS authors. The most recent version of Athenaeum JAS plugin is still available (full Athenaeum 1.5.2.3, as JAS plugin) and can be re-animated, if requested. The Athenaeum interfaces are API (Java, C++, PHP), Command Line and Web Services as described in another post.
- The Server for Atlas tag database have been largely improved and deployed, as documented in another post.
- The code has been largely cleaned up.
|
other posts about Athenaeum
Athenaeum functions are available via several interfaces:
A user can include any Athenaeum functionality in her ordinary Web page using following code:
<table>
<tr><td>
<iframe frameborder='0'
scrolling='yes'
marginheight='0'
marginwidth='0'
src='http://cern.ch/Athenaeum/Log.jsp?url=http://lxvm0341.cern.ch:10001&key=***'
height='600'
width='800'></iframe>
</td></tr>
</table>
Log.jsp
service can be replaced with other services, like Help.jsp
or Info.jsp
.
other posts about Athenaeum
First of all, verify if you realy need the C++ code. There are excellent Java equivalents for many legacy C++ packages. For HEP specific code, you may look at FreeHEP or jHepWork. Other usefull Java packages are noted in the Java In Atlas Wiki page, some are even already installed in the CERN Java Infrastructure.
If you are definitely sure that you do have to call your legacy C++ code, you have several alternatives to implement your bridge:
- JACE works ok for calling Java from C++, here everything is automatic. Calling C++ from Java is more tricky, you have to write proxies. Your task can be a little simpler if you don’t use standard C++, but Cint dialect of C++. In that case you could use Cint (or Reflex) dictionary to build the proxies. JACE works fine and the JACE discussion forum is active.
- JavaRoot allows to call Root functions from Java. The package comes directly from HEP community. It has not been updated for some time, but it may be worth to reanimate. Maybe its author could help you.
- I have no experiance with JNIEasy, I just know it exists.
- NestedVM allows to compile any (really) code compilable by GCC into Java bytecode. It uses patched GCC. This way, you can compile your legace C++ code directly to Java and your problems are gonne.
By the way, calling Java from C++ is much easier, JACE does the excelent job.