From 1c9dda525d5fff52aee5631dc35bca2bddc91dd2 Mon Sep 17 00:00:00 2001 From: Wouter Deconinck <wouter.deconinck@umanitoba.ca> Date: Thu, 8 Jul 2021 03:38:50 +0000 Subject: [PATCH] Resolve "Magnet field map for 3T solenoid (2021-04-30)" --- compact/helmholtz.xml | 15 +- compact/solenoid.xml | 15 +- macro/vis_OGL_along_z_beamOn_1.mac | 11 ++ scripts/input_data/central_events.hepmc | 103 +++++++++++ src/FieldMapBrBz.cpp | 227 ++++++++++++++++++++++++ views/view2.yml | 10 +- views/view6.yml | 20 ++- 7 files changed, 385 insertions(+), 16 deletions(-) create mode 100644 macro/vis_OGL_along_z_beamOn_1.mac create mode 100644 scripts/input_data/central_events.hepmc create mode 100644 src/FieldMapBrBz.cpp diff --git a/compact/helmholtz.xml b/compact/helmholtz.xml index 91afb0fa..11916638 100644 --- a/compact/helmholtz.xml +++ b/compact/helmholtz.xml @@ -329,9 +329,20 @@ </detectors> <fields> - <field type="solenoid" name="GlobalSolenoid" inner_field="3.0 * tesla" outer_field="0.5*tesla" + <!--field type="solenoid" name="GlobalSolenoid" inner_field="3.0 * tesla" outer_field="0.5*tesla" zmin="-SolenoidBarrelCoil_zmax" zmax="SolenoidBarrelCoil_zmax" - inner_radius="SolenoidalFieldRadius" outer_radius="SolenoidalFieldRadius+20*cm"/> + inner_radius="SolenoidalFieldRadius" outer_radius="SolenoidalFieldRadius+20*cm"/--> + <field type="FieldMapBrBz" name="GlobalSolenoid" field_type="magnetic" + field_map="fieldmaps/EIC_v.0.1.0_Magnetic_Field_Map_2021_05_28_radial_coords__cm___T_.401301.line.Bmap" + url="https://eicweb.phy.anl.gov/EIC/detectors/athena/uploads/2bb404a58b09e9b9fbd33befded5a04b/EIC_v.0.1.0_Magnetic_Field_Map_2021_05_28_radial_coords__cm___T_.401301.line.Bmap" + scale="-1.0"> + <dimensions> + <transverse step="2.0*cm" rmin="0*cm" rmax="1000*cm" /> + <longitudinal step="2.0*cm" zmin="-800*cm" zmax="800*cm" /> + <translation x="0.0*cm" y="0.0*cm" z="0.0*cm" /> + <rotation x="0" y="0" z="0" /> + </dimensions> + </field> </fields> </lccdd> diff --git a/compact/solenoid.xml b/compact/solenoid.xml index 47f413a0..bd0ca903 100644 --- a/compact/solenoid.xml +++ b/compact/solenoid.xml @@ -324,9 +324,20 @@ </detectors> <fields> - <field type="solenoid" name="GlobalSolenoid" inner_field="3.0 * tesla" outer_field="0.5*tesla" + <!--field type="solenoid" name="GlobalSolenoid" inner_field="3.0 * tesla" outer_field="0.5*tesla" zmin="-SolenoidBarrelCoil_zmax" zmax="SolenoidBarrelCoil_zmax" - inner_radius="SolenoidalFieldRadius" outer_radius="SolenoidalFieldRadius+20*cm"/> + inner_radius="SolenoidalFieldRadius" outer_radius="SolenoidalFieldRadius+20*cm"/--> + <field type="FieldMapBrBz" name="GlobalSolenoid" field_type="magnetic" + field_map="fieldmaps/EIC_Magnetic_Field_Map_2021_05_07_radial_coords__cm___T_.120000.lines.Bmap" + url="https://eicweb.phy.anl.gov/EIC/detectors/athena/uploads/9179a98c5a80df1f2b98968c747c1c48/EIC_Magnetic_Field_Map_2021_05_07_radial_coords__cm___T_.120000.lines.Bmap" + scale="-1.0"> + <dimensions> + <transverse step="2.0*cm" rmin="0*cm" rmax="398*cm" /> + <longitudinal step="2.0*cm" zmin="-600*cm" zmax="598*cm" /> + <translation x="0.0*cm" y="0.0*cm" z="0.0*cm" /> + <rotation x="0" y="0" z="0" /> + </dimensions> + </field> </fields> </lccdd> diff --git a/macro/vis_OGL_along_z_beamOn_1.mac b/macro/vis_OGL_along_z_beamOn_1.mac new file mode 100644 index 00000000..fbf2d151 --- /dev/null +++ b/macro/vis_OGL_along_z_beamOn_1.mac @@ -0,0 +1,11 @@ +# Usage example: +# npsim --runType vis --compactFile athena.xml --random.seed 1 --enableGun --gun.energy 2*GeV --gun.thetaMin 90*deg --gun.thetaMax 90*deg --gun.distribution uniform --macro macro/vis_OGL_along_z_beamOn_1.mac --outputFile test.root +/vis/open OGL 1920x1080 +/vis/scene/create +/vis/scene/add/volume +/vis/sceneHandler/attach +/vis/viewer/zoom 10 +/vis/viewer/flush +/vis/scene/add/trajectories +/vis/scene/add/hits +/run/beamOn 1 diff --git a/scripts/input_data/central_events.hepmc b/scripts/input_data/central_events.hepmc new file mode 100644 index 00000000..a642d218 --- /dev/null +++ b/scripts/input_data/central_events.hepmc @@ -0,0 +1,103 @@ +HepMC::Version 3.02.02 +HepMC::Asciiv3-START_EVENT_LISTING +E 0 4 9 +U GEV CM +P 1 0 11 0.0000000000000000e+00 0.0000000000000000e+00 -9.9999999869440064e+00 1.0000000000000000e+01 5.1099888971089147e-04 4 +P 2 1 22 -5.8225640056623670e-03 3.7747924008719728e-02 -2.9249301763891555e+00 2.9248270767857321e+00 -4.5408321610621201e-02 3 +P 3 1 11 5.8225640056623670e-03 -3.7747924008719728e-02 -7.0750698105548508e+00 7.0751729232142679e+00 5.1101967722736764e-04 1 +P 4 0 2212 0.0000000000000000e+00 0.0000000000000000e+00 9.9995598131387851e+01 1.0000000000000000e+02 9.3827199999876709e-01 4 +P 5 4 2212 0.0000000000000000e+00 0.0000000000000000e+00 9.9995598131482922e+01 1.0000000000009507e+02 9.3827199999973643e-01 3 +V -3 0 [2,5] +P 6 -3 553 -1.4745608418116361e-02 -8.6828685571490272e-01 4.7980031183979008e+00 1.0642943648781511e+01 9.4603000000109834e+00 2 +P 7 -3 2212 8.9230444123625328e-03 9.0603477972421620e-01 9.2272664838178372e+01 9.2281883429672035e+01 9.3827200000070576e-01 1 +P 8 6 -13 4.4907597498767587e-01 2.0906320322010372e+00 -2.1757837479786910e+00 3.0524760533554351e+00 1.0565800000001382e-01 1 +P 9 6 13 -4.6382158340577534e-01 -2.9589188879149320e+00 6.9737868663710216e+00 7.5904675954137195e+00 1.0565800000002223e-01 1 +E 0 4 10 +U GEV CM +P 1 0 11 0.0000000000000000e+00 0.0000000000000000e+00 -9.9999999869440064e+00 1.0000000000000000e+01 5.1099888971089147e-04 4 +P 2 1 22 -2.6839726606050791e-04 1.1264659797828775e-03 -6.3401069726794805e+00 6.3401067668601172e+00 -1.9876609922101014e-03 3 +P 3 1 11 2.6839726606050791e-04 -1.1264659797828775e-03 -3.6598930142645258e+00 3.6598932331398828e+00 5.1103633096365880e-04 1 +P 4 0 2212 0.0000000000000000e+00 0.0000000000000000e+00 9.9995598131387851e+01 1.0000000000000000e+02 9.3827199999876709e-01 4 +P 5 4 2212 0.0000000000000000e+00 0.0000000000000000e+00 9.9995598131482922e+01 1.0000000000009507e+02 9.3827199999973643e-01 3 +V -3 0 [2,5] +P 6 -3 553 1.9156252814767760e-01 2.1790735768546463e-01 -2.8073109612741973e+00 9.8723072682332713e+00 9.4603000029807429e+00 2 +P 7 -3 2212 -1.9183092541375127e-01 -2.1678089170561543e-01 9.6462802125352582e+01 9.6467799504704473e+01 9.3827199999779787e-01 1 +P 8 6 -13 -2.4852998465289872e-01 2.3091049977702758e+00 -5.7337843777899966e+00 6.1871786743193251e+00 1.0565799999995498e-01 1 +P 9 6 13 4.4342149179344215e-01 -2.1010576035711188e+00 2.9552377554469285e+00 3.6545395711486477e+00 1.0565800000003905e-01 1 +P 10 6 22 -3.3289790532426214e-03 9.8599634176282647e-03 -2.8764338046322176e-02 3.0589019653741657e-02 3.2927225399135965e-10 1 +E 0 4 9 +U GEV CM +P 1 0 11 0.0000000000000000e+00 0.0000000000000000e+00 -9.9999999869440064e+00 1.0000000000000000e+01 5.1099888971089147e-04 4 +P 2 1 22 2.1549001953953920e-01 5.3446029602846556e-01 -6.2965867413439192e-01 6.1195545733789913e-01 -5.9503304168678661e-01 3 +P 3 1 11 -2.1549001953953920e-01 -5.3446029602846556e-01 -9.3703413128096145e+00 9.3880445426621009e+00 5.0981276742689016e-04 1 +P 4 0 2212 0.0000000000000000e+00 0.0000000000000000e+00 9.9995598131387851e+01 1.0000000000000000e+02 9.3827199999876709e-01 4 +P 5 4 2212 0.0000000000000000e+00 0.0000000000000000e+00 9.9995598131482922e+01 1.0000000000009507e+02 9.3827199999973643e-01 3 +V -3 0 [2,5] +P 6 -3 553 2.2825834022061950e-01 3.3334310888886032e-01 3.5569092662904950e+01 3.6807891116586688e+01 9.4603000000031017e+00 2 +P 7 -3 2212 -1.2768320678757170e-02 2.0111718714536578e-01 6.3796846795456545e+01 6.3804064341873378e+01 9.3827200000094813e-01 1 +P 8 6 -13 -3.2477759288923482e+00 3.3065214111492942e+00 1.3631832024299879e+01 1.4398581189769127e+01 1.0565800000146809e-01 1 +P 9 6 13 3.4760342691128936e+00 -2.9731783022605436e+00 2.1937260638593418e+01 2.2409309926805506e+01 1.0565799999797114e-01 1 +E 0 4 9 +U GEV CM +P 1 0 11 0.0000000000000000e+00 0.0000000000000000e+00 -9.9999999869440064e+00 1.0000000000000000e+01 5.1099888971089147e-04 4 +P 2 1 22 8.1053930688133671e-03 -1.2356942914208306e-02 -2.8212751471844815e+00 2.8212599310500082e+00 -1.7442735092468440e-02 3 +P 3 1 11 -8.1053930688133671e-03 1.2356942914208306e-02 -7.1787248397595249e+00 7.1787400689499918e+00 5.1101148051165002e-04 1 +P 4 0 2212 0.0000000000000000e+00 0.0000000000000000e+00 9.9995598131387851e+01 1.0000000000000000e+02 9.3827199999876709e-01 4 +P 5 4 2212 0.0000000000000000e+00 0.0000000000000000e+00 9.9995598131482922e+01 1.0000000000009507e+02 9.3827199999973643e-01 3 +V -3 0 [2,5] +P 6 -3 553 -2.4074047134142244e-02 2.6879165673024504e-02 5.1101881387075991e+00 1.0752330024333787e+01 9.4602999999952058e+00 2 +P 7 -3 2212 3.2179440203073603e-02 -3.9236108587412617e-02 9.2064134846942238e+01 9.2068929908251562e+01 9.3827200000167510e-01 1 +P 8 6 -13 3.4101173607658830e+00 -1.3038459453885907e+00 5.9422927439678519e+00 6.9750212423676778e+00 1.0565800000106459e-01 1 +P 9 6 13 -3.4341914079000371e+00 1.3307251110616287e+00 -8.3210460525766239e-01 3.7773087819715596e+00 1.0565800000016515e-01 1 +E 0 1 3 +U GEV MM +P 1 0 11 0.0000000000000000e+00 0.0000000000000000e+00 1.0000000000000000e+01 1.0000000000000000e+01 0.0000000000000000e+00 4 +P 2 0 2212 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 9.3799999999999994e-01 9.3799999999999994e-01 4 +V -1 0 [1,2] +P 3 -1 11 8.3077231638512800e-02 3.4688303864359871e-01 -9.3422177831854492e-01 1.0000001305604915e+00 5.1100000015238706e-04 1 +E 0 1 3 +U GEV MM +P 1 0 11 0.0000000000000000e+00 0.0000000000000000e+00 1.0000000000000000e+01 1.0000000000000000e+01 0.0000000000000000e+00 4 +P 2 0 2212 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 9.3799999999999994e-01 9.3799999999999994e-01 4 +V -1 0 [1,2] +P 3 -1 11 7.2104820115711854e-01 1.5628742640734802e-01 -1.8589415622754393e+00 2.0000000652802488e+00 5.1100000036965185e-04 1 +E 0 1 3 +U GEV MM +P 1 0 11 0.0000000000000000e+00 0.0000000000000000e+00 1.0000000000000000e+01 1.0000000000000000e+01 0.0000000000000000e+00 4 +P 2 0 2212 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 9.3799999999999994e-01 9.3799999999999994e-01 4 +V -1 0 [1,2] +P 3 -1 11 -1.4361173664326103e+00 -9.3836236801405426e-01 -2.4611060473140363e+00 3.0000000435201661e+00 5.1100000036965185e-04 1 +E 0 1 3 +U GEV MM +P 1 0 11 0.0000000000000000e+00 0.0000000000000000e+00 1.0000000000000000e+01 1.0000000000000000e+01 0.0000000000000000e+00 4 +P 2 0 2212 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 9.3799999999999994e-01 9.3799999999999994e-01 4 +V -1 0 [1,2] +P 3 -1 11 -2.6126728458756499e-01 2.0189611701651842e+00 -3.4431867796228350e+00 4.0000000326401244e+00 5.1099999515529708e-04 1 +E 0 1 3 +U GEV MM +P 1 0 11 0.0000000000000000e+00 0.0000000000000000e+00 1.0000000000000000e+01 1.0000000000000000e+01 0.0000000000000000e+00 4 +P 2 0 2212 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 9.3799999999999994e-01 9.3799999999999994e-01 4 +V -1 0 [1,2] +P 3 -1 11 8.5091281358231141e-01 -2.4919887833464918e+00 -4.2504046027827407e+00 5.0000000261121000e+00 5.1099999863153363e-04 1 +E 0 1 3 +U GEV MM +P 1 0 11 0.0000000000000000e+00 0.0000000000000000e+00 1.0000000000000000e+01 1.0000000000000000e+01 0.0000000000000000e+00 4 +P 2 0 2212 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 9.3799999999999994e-01 9.3799999999999994e-01 4 +V -1 0 [1,2] +P 3 -1 11 -2.5637625613563038e+00 2.9774447329110156e+00 -4.5345280230083720e+00 6.0000000217600835e+00 5.1100000210777007e-04 1 +E 0 1 3 +U GEV MM +P 1 0 11 0.0000000000000000e+00 0.0000000000000000e+00 1.0000000000000000e+01 1.0000000000000000e+01 0.0000000000000000e+00 4 +P 2 0 2212 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 9.3799999999999994e-01 9.3799999999999994e-01 4 +V -1 0 [1,2] +P 3 -1 11 8.5248676124549916e-01 1.3423464093622672e+00 -6.8169914507188132e+00 7.0000000186514999e+00 5.1100000210777007e-04 1 +E 0 1 3 +U GEV MM +P 1 0 11 0.0000000000000000e+00 0.0000000000000000e+00 1.0000000000000000e+01 1.0000000000000000e+01 0.0000000000000000e+00 4 +P 2 0 2212 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 9.3799999999999994e-01 9.3799999999999994e-01 4 +V -1 0 [1,2] +P 3 -1 11 2.7295844590149682e-01 -1.0660162875541499e+00 -7.9239575315293242e+00 8.0000000163200617e+00 5.1099999515529708e-04 1 +E 0 1 3 +U GEV MM +HepMC::Asciiv3-END_EVENT_LISTING + diff --git a/src/FieldMapBrBz.cpp b/src/FieldMapBrBz.cpp new file mode 100644 index 00000000..bcfe4ae2 --- /dev/null +++ b/src/FieldMapBrBz.cpp @@ -0,0 +1,227 @@ +#include <DD4hep/DetFactoryHelper.h> +#include <DD4hep/FieldTypes.h> +#include <XML/Utilities.h> + +#include <cstdlib> +#include <filesystem> +#include <fstream> +#include <iostream> +#include <sstream> +#include <stdexcept> +#include <string> +#include <tuple> +namespace fs = std::filesystem; + +using namespace dd4hep; + + +// implementation of the field map +class FieldMapBrBz : public dd4hep::CartesianField::Object +{ +public: + FieldMapBrBz(const std::string &field_type); + void Configure(double rmin, double rmax, double rstep, double zmin, double zmax, double zstep); + void LoadMap(const std::string &map_file, double scale); + void GetIndices(double r, double z, int &ir, int &iz, double &dr, double &dz); + void SetTransform(const Transform3D &tr) { trans = tr; trans_inv = tr.Inverse(); } + + virtual void fieldComponents(const double *pos, double *field); + + +private: + Transform3D trans, trans_inv; + double rmin, rmax, rstep, zmin, zmax, zstep; + std::vector<std::vector<std::vector<double>>> Bvals; +}; + +// constructor +FieldMapBrBz::FieldMapBrBz(const std::string &field_type = "magnetic") +{ + std::string ftype = field_type; + for (auto &c : ftype) { c = tolower(c); } + + // set type + if (ftype == "magnetic") { + type = CartesianField::MAGNETIC; + } else if (ftype == "electric") { + type = CartesianField::ELECTRIC; + } else { + type = CartesianField::UNKNOWN; + std::cout << "FieldMapBrBz Warning: Unknown field type " << field_type << "!" << std::endl; + } +} + +void FieldMapBrBz::Configure(double r1, double r2, double rs, double z1, double z2, double zs) +{ + rmin = r1; + rmax = r2; + rstep = rs; + zmin = z1; + zmax = z2; + zstep = zs; + + int nr = int((r2 - r1)/rs) + 2; + int nz = int((z2 - z1)/zs) + 2; + + Bvals.resize(nr); + for (auto &B2 : Bvals) { + B2.resize(nz); + for (auto &B : B2) { + B.resize(2, 0.); + } + } +} + +void FieldMapBrBz::GetIndices(double r, double z, int &ir, int &iz, double &dr, double &dz) +{ + // boundary check + if (r > rmax || r < rmin || z > zmax || z < zmin) { + ir = -1; + iz = -1; + return; + } + // get indices + double idr, idz; + dr = std::modf((r - rmin)/rstep, &idr); + dz = std::modf((z - zmin)/zstep, &idz); + + ir = static_cast<int>(idr); + iz = static_cast<int>(idz); +} + +// load data +void FieldMapBrBz::LoadMap(const std::string &map_file, double scale) +{ + std::string line; + std::ifstream input(map_file); + if (!input) { + std::cout << "FieldMapBrBz Error: file \"" << map_file << "\" cannot be read." << std::endl; + } + + double r, z, br, bz; + int ir, iz; + double dr, dz; + while (std::getline(input, line).good()) { + std::istringstream iss(line); + iss >> r >> z >> br >> bz; + GetIndices(r, z, ir, iz, dr, dz); + if (ir < 0 || iz < 0) { + std::cout << "FieldMapBrBz Warning: coordinates out of range (" + << r << ", " << z << "), skipped it." << std::endl; + } else { + Bvals[ir][iz] = {br*scale, bz*scale}; + // ROOT::Math::XYZPoint p(r, 0, z); + // std::cout << p << " -> " << trans*p << std::endl; + // std::cout << ir << ", " << iz << ", " << br << ", " << bz << std::endl; + } + } +} + +// get field components +void FieldMapBrBz::fieldComponents(const double *pos, double *field) +{ + // coordinate conversion + auto p = trans_inv*ROOT::Math::XYZPoint(pos[0], pos[1], pos[2]); + + // coordinates conversion + const double r = sqrt(p.x()*p.x() + p.y()*p.y()); + const double z = p.z(); + const double phi = atan2(p.y(), p.x()); + + int ir, iz; + double dr, dz; + GetIndices(r, z, ir, iz, dr, dz); + + // out of the range + if (ir < 0 || iz < 0) { return; } + + // p1 p3 + // p + // p0 p2 + auto &p0 = Bvals[ir][iz]; + auto &p1 = Bvals[ir][iz + 1]; + auto &p2 = Bvals[ir + 1][iz]; + auto &p3 = Bvals[ir + 1][iz + 1]; + + // linear interpolation + double Br = p0[0] * (1-dr) * (1-dz) + + p1[0] * (1-dr) * dz + + p2[0] * dr * (1-dz) + + p3[0] * dr * dz; + + double Bz = p0[1] * (1-dr) * (1-dz) + + p1[1] * (1-dr) * dz + + p2[1] * dr * (1-dz) + + p3[1] * dr * dz; + + // convert Br Bz to Bx By Bz + auto B = trans*ROOT::Math::XYZPoint(Br*sin(phi), Br*cos(phi), Bz); + field[0] += B.x()*tesla; + field[1] += B.y()*tesla; + field[2] += B.z()*tesla; + return; +} + + +// assign the field map to CartesianField +static Ref_t create_field_map_brbz(Detector & /*lcdd*/, xml::Handle_t handle) +{ + xml_comp_t x_par(handle); + + if (!x_par.hasAttr(_Unicode(field_map))) { + throw std::runtime_error("FieldMapBrBz Error: must have an xml attribute \"field_map\" for the field map."); + } + + CartesianField field; + std::string field_type = x_par.attr<std::string>(_Unicode(field_type)); + + // dimensions + xml_comp_t x_dim = x_par.dimensions(); + + // min, max, step + xml_comp_t r_dim = x_dim.child(_Unicode(transverse)); + xml_comp_t z_dim = x_dim.child(_Unicode(longitudinal)); + + std::string field_map_file = x_par.attr<std::string>(_Unicode(field_map)); + std::string field_map_url = x_par.attr<std::string>(_Unicode(url)); + + double field_map_scale = x_par.attr<double>(_Unicode(scale)); + + if( !fs::exists(fs::path(field_map_file)) ) { + auto ret = std::system(("mkdir -p fieldmaps && " + "wget " + + field_map_url + " -O " + field_map_file).c_str()); + + if (!fs::exists(fs::path(field_map_file))) { + std::cerr << "ERROR: file, " << field_map_file << ", does not exist\n"; + std::quick_exit(1); + } + } + + + auto map = new FieldMapBrBz(field_type); + map->Configure(r_dim.rmin(), r_dim.rmax(), r_dim.step(), z_dim.zmin(), z_dim.zmax(), z_dim.step()); + + // translation, rotation + static double deg2r = ROOT::Math::Pi()/180.; + RotationZYX rot(0., 0., 0.); + if (x_dim.hasChild(_Unicode(rotation))) { + xml_comp_t rot_dim = x_dim.child(_Unicode(rotation)); + rot = RotationZYX(rot_dim.z()*deg2r, rot_dim.y()*deg2r, rot_dim.x()*deg2r); + } + + Translation3D trans(0., 0., 0.); + if (x_dim.hasChild(_Unicode(translation))) { + xml_comp_t trans_dim = x_dim.child(_Unicode(translation)); + trans = Translation3D(trans_dim.x(), trans_dim.y(), trans_dim.z()); + } + map->SetTransform(trans*rot); + + map->LoadMap(field_map_file, field_map_scale); + field.assign(map, x_par.nameStr(), "FieldMapBrBz"); + + return field; +} + +DECLARE_XMLELEMENT(FieldMapBrBz, create_field_map_brbz) + diff --git a/views/view2.yml b/views/view2.yml index 1c9fc241..10368277 100644 --- a/views/view2.yml +++ b/views/view2.yml @@ -2,10 +2,12 @@ dawn_view_02:detector: extends: .views script: - ./bin/make_dawn_views -t view02 -d scripts/view2 -D -#dawn_view_02:ev001: -# extends: .views -# script: -# - ./bin/make_dawn_views -t view02_ev001 -d scripts/view2 -s 1 +dawn_view_02:ev001: + extends: .views + rules: + - if: '$DETECTOR_EVENT_VIEWS == "ON"' + script: + - ./bin/make_dawn_views -t view02_ev001 -d scripts/view2 -s 1 dawn_view_02:ev002: extends: .views rules: diff --git a/views/view6.yml b/views/view6.yml index 1ad761c1..92654e6d 100644 --- a/views/view6.yml +++ b/views/view6.yml @@ -1,29 +1,31 @@ dawn_view_06:detector: extends: .views script: - - ./bin/make_dawn_views -t view02 -d scripts/view2 -D -#dawn_view_06:ev001: -# extends: .views -# script: -# - ./bin/make_dawn_views -t view02_ev001 -d scripts/view2 -s 1 + - ./bin/make_dawn_views -t view06 -d scripts/view6 -D +dawn_view_06:ev001: + extends: .views + rules: + - if: '$DETECTOR_EVENT_VIEWS == "ON"' + script: + - ./bin/make_dawn_views -t view06_ev001 -d scripts/view6 -s 1 dawn_view_06:ev002: extends: .views rules: - if: '$DETECTOR_EVENT_VIEWS == "ON"' script: - - ./bin/make_dawn_views -t view02_ev002 -d scripts/view2 -s 2 + - ./bin/make_dawn_views -t view06_ev002 -d scripts/view6 -s 2 dawn_view_06:ev003: extends: .views rules: - if: '$DETECTOR_EVENT_VIEWS == "ON"' script: - - ./bin/make_dawn_views -t view02_ev003 -d scripts/view2 -s 3 + - ./bin/make_dawn_views -t view06_ev003 -d scripts/view6 -s 3 dawn_view_06:ev004: extends: .views rules: - if: '$DETECTOR_EVENT_VIEWS == "ON"' script: - - ./bin/make_dawn_views -t view02_ev004 -d scripts/view2 -s 4 + - ./bin/make_dawn_views -t view06_ev004 -d scripts/view6 -s 4 view_06: stage: test @@ -32,6 +34,8 @@ view_06: needs: - job: dawn_view_06:detector optional: false + - job: dawn_view_06:ev001 + optional: true - job: dawn_view_06:ev002 optional: true - job: dawn_view_06:ev003 -- GitLab