FairMCEventHeader [message #8510] |
Mon, 11 May 2009 17:46 |
Volker Friese
Messages: 365 Registered: April 2004 Location: GSI CBM
|
first-grade participant |
From: *gsi.de
|
|
The fairbase defines the class FairMCEventHeader, storing information on the event level, which is to be filled by the respective generator classes.
Now, it may not be good an idea to define such a data class in the base directories since the requirements (which information to be stored) may vary from experiment to experiment. For instance, we now want to store an additional variable (the event plane angle).
Is it possible to have a derived, experiment-specific class? As far as I can see, the class is instantiated (and the branch registered) in CbmMCApplication and otherwise used only by FairPrimaryGenerator. So, I think it would be easy to shift the instantiation and filling to the experiment specific part of the software.
A possible solution would be:
- Implement an experiment-specific data class, e.g. CbmMCEventHeader (TNamed)
- Introduce a virtual method Init() in CbmPrimaryGenerator, to be called from FairMCApplication::Init(). Here, the event class array has to be instantiated and its branch registered.
- Make CbmPrimaryGenerator::GenerateEvent virtual, so the proper filling of the event class can be done in an experiment-specific class derived from FairPrimaryGenerator (e.g. CbmPrimaryGenerator) and/or by the concrete generator classes themselves.
[Updated on: Mon, 11 May 2009 18:21] Report message to a moderator
|
|
|