The sensitive volume is not optional, it is a mandatory volume. Therefore, I find it more convenient to force its definition inside <storage
.
I am open to other ways to define the XML, however, we should try to keep the nomenclature fixed. Here you are changing sensitiveVolume
by triggerStore
, people will be confused by this change because they are already used to the concept of sensitiveVolume
.
I believe we should try to keep as close to the actual definition as possible.
Please, notice that we may have the option to define a sensitive volume where hits are not stored. Thus, in your second proposal.
<storage sensitiveVolume="gas" energyRange="(0,10)keV">
<addOn volume="shielding" energyRange="(0,1)MeV" />
<addOn volume="veto" energyRange="(500,0)eV" />
</storage>
the hits inside the gas
volume will not be stored.
So, the sensitive volume may need to be re-defined as an active volume. The only inconvenience of my proposal is that I define 2 energyRanges (0,10)keV for the gas volume, one as sensitive
volume, and other as active
volume.
If energyRange is not defined we should leave it without any constrain. So, I could just do.
<storage sensitiveVolume="gas" energyRange="(0,10)keV" />
<activeVolume name="gas" />
<activeVolume name="shielding" energyRange="(0,1)MeV" />
<activeVolume name="veto" energyRange="(500,0)eV" />
</storage>
Here I see no inconvenience. If I remove the <activeVolume name="gas"
line I will just do not register the hits on that volume. But I will require an energy deposit in the gas volume between 0 and 10keV to register the event.
If energyRange
is not defined for the volume the default energyRange will be set to (0,0). which means from 0 to infinite.