MUSIC unknown
Analysis for the MUSIC active-target ionization chamber
Loading...
Searching...
No Matches
Constants.hpp File Reference

The dataset configuration, and how it is layered. More...

#include "DedupStrategy.hpp"
#include "RunEpoch.hpp"
#include "SlotLayout.hpp"
#include <Rtypes.h>
#include <RtypesCore.h>
#include <TString.h>
#include <iostream>
#include <map>
#include <utility>
#include <vector>
Include dependency graph for Constants.hpp:

Go to the source code of this file.

Classes

struct  StripSumScatterConfig
 Everything governing the reaction search in the strip-sum scatters. More...
struct  CrossSectionChannel
 One reaction channel the cross section is extracted for. More...
struct  TalysModel
 One TALYS model variant to compare against. More...
struct  CrossSectionConfig
 What the cross section needs about the experiment rather than the analysis. More...
class  DatasetConfig

Namespaces

namespace  Constants

Macros

#define MUSIC_HOT_PATH_LOGGING   1
 Whether per-hit and per-event progress logging is compiled in.

Enumerations

enum  TargetGas { kHELIUM }
 The fill gas the beam reacts in. More...

Functions

Int_t TargetGasA (TargetGas gas)
 Mass number of the target nucleus in a fill gas.
Double_t TargetGasAtomsPerMolecule (TargetGas gas)
 Atoms of the reacting species per molecule of fill gas.
void Constants::SetActiveEpoch (const RunEpoch *epoch)
 Set the epoch the Active*() accessors read from.
const RunEpochConstants::GetActiveEpoch ()
 The currently active epoch, or null when none is set.
const RunEpochConstants::EpochForRun (Int_t run)
 The epoch owning a run number.
RunEpoch Constants::MakeEpoch (const TString &name, const std::vector< Int_t > &runs)
 Build an epoch prefilled from the flat configuration block.
std::vector< Int_t > Constants::RunRange (Int_t first, Int_t last)
 Consecutive run numbers, for MakeEpoch().
const TString & Constants::ActiveFileTag ()
 Output-name prefix of the active epoch.
Int_t Constants::ActiveNBoards ()
 Boards in the active epoch's setup.
Int_t Constants::ActiveNChannels ()
 Channels per board.
UShort_t Constants::ActiveTimingRefBoard ()
 Board the others are timing-aligned against.
const std::vector< UShort_t > & Constants::ActiveTimingRefBoardChannels ()
 Reference channel per board, for the alignment.
Bool_t Constants::ActiveDoBoardSync ()
 Whether to run the multi-board timing alignment.
Bool_t Constants::ActiveDoSort ()
 Whether to time-sort hits before event building.
Bool_t Constants::ActiveHasCathode ()
 Whether this era instrumented the cathode.
Bool_t Constants::ActiveUseSolarisData ()
 Whether this era's data is SOLARIS rather than CoMPASS.
Double_t Constants::ActiveEventTimeWindowUs ()
 Coincidence window for event building, in microseconds.
const TString & Constants::ActiveReferenceChannel ()
 Channel whose hits seed events.
Double_t Constants::ActiveReferenceChannelMinAdc ()
 Lower energy gate on the seed channel, in ADC.
Double_t Constants::ActiveReferenceChannelMaxAdc ()
 Upper energy gate on the seed channel, in ADC.
DedupStrategy Constants::ActiveDedupStrategy ()
 How repeated hits on one slot are resolved.
Double_t Constants::ActiveStripEMinAdc ()
 Lower bound of the per-strip energy range, in ADC.
Double_t Constants::ActiveStripEMaxAdc ()
 Upper bound of the per-strip energy range, in ADC.
Double_t Constants::ActiveCathodeMaxAdc ()
 Cathode full scale, in ADC.
Double_t Constants::ActiveGridMaxAdc ()
 Grid full scale, in ADC.
Double_t Constants::ActiveStrip0MaxAdc ()
 Strip 0 full scale, in ADC.
Double_t Constants::ActiveStrip17MaxAdc ()
 Strip 17 full scale, in ADC.
Double_t Constants::ActiveLeftEvenMaxAdc ()
 Left-side ceiling for even strips, in ADC.
Double_t Constants::ActiveLeftOddMaxAdc ()
 Left-side ceiling for odd strips, in ADC.
Double_t Constants::ActiveRightEvenMaxAdc ()
 Right-side ceiling for even strips, in ADC.
Double_t Constants::ActiveRightOddMaxAdc ()
 Right-side ceiling for odd strips, in ADC.
const std::vector< Int_t > & Constants::ActiveRunNumbers ()
 Runs of the active epoch, or the flat RUN_NUMBERS when none is set.
Int_t Constants::ActiveMaxFiles ()
 Cap on subfiles processed per run for the active epoch.
const std::map< std::pair< Int_t, Int_t >, TString > & Constants::ActiveChannelMap ()
 The channel map in force.

Variables

const DatasetConfigConstants::cfg
 The active dataset's configuration, flat block.

Detailed Description

The dataset configuration, and how it is layered.

Configuration is split in two. The struct definitions and the tooling-wide defaults live here and in Constants.cpp; each dataset then overrides only the fields it cares about in analysis/<dataset>/config/Constants.cpp, which is compiled into that dataset's binaries.

On top of that sits the epoch layer. A dataset spanning several acquisition eras declares a RunEpoch per era, and the Active*() accessors read the active epoch when one is set and the flat block otherwise. See RunEpoch for why a half-populated epoch is an error rather than a fallback.

Definition in file Constants.hpp.

Macro Definition Documentation

◆ MUSIC_HOT_PATH_LOGGING

#define MUSIC_HOT_PATH_LOGGING   1

Whether per-hit and per-event progress logging is compiled in.

Compile-time so the branch leaves the hot loop entirely when off. Define it to 0 on the compiler command line to disable.

Note
Logging outside hot loops — per-file and per-run summaries — is unconditional and not covered by this.

Definition at line 41 of file Constants.hpp.

Enumeration Type Documentation

◆ TargetGas

enum TargetGas

The fill gas the beam reacts in.

Only helium so far. The per-gas numbers the cross section needs come from TargetGasA() and TargetGasAtomsPerMolecule() rather than being repeated at each use.

Enumerator
kHELIUM 

Helium fill.

Definition at line 261 of file Constants.hpp.

Function Documentation

◆ TargetGasA()

Int_t TargetGasA ( TargetGas gas)

Mass number of the target nucleus in a fill gas.

Parameters
gasFill gas.

Definition at line 3 of file Constants.cpp.

Referenced by BeamEnergies::CmFraction(), and main().

◆ TargetGasAtomsPerMolecule()

Double_t TargetGasAtomsPerMolecule ( TargetGas gas)

Atoms of the reacting species per molecule of fill gas.

Parameters
gasFill gas.

Definition at line 11 of file Constants.cpp.