Use of ART-service in standalone scripts, not depending on ART
I have looked up the NOvA Online packages that use DAQChannelMap. There are essentially two packages that use it: DAQHit and ChannelDecoder.
The first one is used for triggering, so I think it may be rewritten such that it uses CMap instead.
On the other hand, ChannelDecoder is a simple GUI that one can use to check Online<->Offline transformations. It's a standalone GUI that Andrew wrote. It does not use ART. So, my question is: is it possible somehow to make use of ART-services without really using ART? If that would be possible, then we could rewrite all the code both Offline and Online to make use of CMap only.
This was actually brought up recently in our internal discussion a while ago. For example, people would like to use the Geometry service in their own standalone little scripts but it is impossible to do right now because Geometry is an ART service.
#1 Updated by Christopher Backhouse about 7 years ago
I would love this ability, mostly for the Geometry as Denis says. But just in general there are useful little snippets of code all over that are bound up requiring art linkage.
For the services, obviously the standalone program would have to take responsibility for getting the service happily initialized. I think for the Geometry you can explicitly set what detector it should be. Other services probably need a dummy beginSubRun signal fired at them so they know what time period to answer questions about.
On MINOS we had something like this, "loon", that was basically root but loaded all the framework libraries and allowed you to interact with that code.