|
LDMX Software
|
Bar-center positions of the trigger-scintillator modules. More...
#include <TrigScintGeometry.h>
Public Member Functions | |
| TrigScintGeometry (const framework::config::Parameters &ps) | |
| Build from a python-configured parameter set. | |
| ROOT::Math::XYZVector | getBarPosition (int module, int bar) const |
| Global bar-center position for a (module, bar). | |
| ROOT::Math::XYZVector | getBarPosition (ldmx::TrigScintID id) const |
| Convenience overload taking a TrigScintID. | |
| int | getNumModules () const |
| Number of configured modules. | |
| int | getNumBars () const |
| Number of bars (channels) per module. | |
| double | getLayerZSeparation () const |
| z separation between the two layers within a module [mm]. | |
Public Member Functions inherited from framework::ConditionsObject | |
| ConditionsObject (const std::string &name) | |
| Class constructor. | |
| virtual | ~ConditionsObject () |
| Destructor. | |
| std::string | getName () const |
| Get the name of this object. | |
Static Public Attributes | |
| static constexpr const char * | CONDITIONS_OBJECT_NAME {"trig_scint_geometry"} |
| Name this conditions object is registered under (must match the python provider field name). | |
Private Attributes | |
| std::vector< double > | module_z_ |
| global z of each module's (layer-pair) center [mm] | |
| double | y0_ |
| global y of bar 0 [mm] (bar 0 is most +y) | |
| double | layer_pitch_ |
| in-layer y pitch [mm] | |
| double | layer_y_shift_ |
| y stagger of layer 1 relative to layer 0 [mm] | |
| double | layer_z_sep_ |
| z separation between the two layers within a module [mm] | |
| int | n_bars_ |
| number of bars (channels) per module | |
Bar-center positions of the trigger-scintillator modules.
The TS bars measure y. Each module is two staggered layers of n_bars/2 bars; the decoded channel id (bar, 0..n_bars-1) is split as layer = bar % 2, in-layer index = bar / 2. Positions are computed from parameters that mirror the detector GDML constants (per-module z, in-layer y pitch, layer y stagger, layer z separation, and the y of channel 0). This is delivered as a conditions object so reco (e.g. the TS -> ldmx::Measurement producer) reads geometry from here instead of hard-coding it.
Definition at line 37 of file TrigScintGeometry.h.
| ldmx::TrigScintGeometry::TrigScintGeometry | ( | const framework::config::Parameters & | ps | ) |
Build from a python-configured parameter set.
Definition at line 5 of file TrigScintGeometry.cxx.
References framework::config::Parameters::get(), layer_pitch_, layer_y_shift_, layer_z_sep_, module_z_, n_bars_, and y0_.
| ROOT::Math::XYZVector ldmx::TrigScintGeometry::getBarPosition | ( | int | module, |
| int | bar ) const |
Global bar-center position for a (module, bar).
| module | module index (0-based; index into module_z) |
| bar | decoded channel id, 0..n_bars-1 |
Definition at line 15 of file TrigScintGeometry.cxx.
References layer_pitch_, layer_y_shift_, layer_z_sep_, module_z_, n_bars_, and y0_.
Referenced by getBarPosition().
|
inline |
Convenience overload taking a TrigScintID.
Definition at line 57 of file TrigScintGeometry.h.
References getBarPosition().
|
inline |
z separation between the two layers within a module [mm].
Definition at line 66 of file TrigScintGeometry.h.
References layer_z_sep_.
|
inline |
Number of bars (channels) per module.
Definition at line 64 of file TrigScintGeometry.h.
References n_bars_.
|
inline |
Number of configured modules.
Definition at line 62 of file TrigScintGeometry.h.
References module_z_.
|
staticconstexpr |
Name this conditions object is registered under (must match the python provider field name).
Definition at line 41 of file TrigScintGeometry.h.
Referenced by tracking::reco::TrigScintMeasurementProducer::produce().
|
private |
in-layer y pitch [mm]
Definition at line 74 of file TrigScintGeometry.h.
Referenced by getBarPosition(), and TrigScintGeometry().
|
private |
y stagger of layer 1 relative to layer 0 [mm]
Definition at line 76 of file TrigScintGeometry.h.
Referenced by getBarPosition(), and TrigScintGeometry().
|
private |
z separation between the two layers within a module [mm]
Definition at line 78 of file TrigScintGeometry.h.
Referenced by getBarPosition(), getLayerZSeparation(), and TrigScintGeometry().
|
private |
global z of each module's (layer-pair) center [mm]
Definition at line 70 of file TrigScintGeometry.h.
Referenced by getBarPosition(), getNumModules(), and TrigScintGeometry().
|
private |
number of bars (channels) per module
Definition at line 80 of file TrigScintGeometry.h.
Referenced by getBarPosition(), getNumBars(), and TrigScintGeometry().
|
private |
global y of bar 0 [mm] (bar 0 is most +y)
Definition at line 72 of file TrigScintGeometry.h.
Referenced by getBarPosition(), and TrigScintGeometry().