15 ev.gname =
"dune10kt_workspace_geo";
16 ev.fullname =
"dune10kt_v1_workspace";
26 for (
Index icry=0; icry<ev.ncry; ++icry ) {
27 for (
Index itpc=0; itpc<ev.ntpc; ++itpc ) {
28 for (
Index ipla=0; ipla<ev.npla; ++ipla ) {
31 ev.view[icry][itpc][0] =
geo::kU;
32 ev.view[icry][itpc][1] =
geo::kV;
33 ev.view[icry][itpc][2] =
geo::kZ;
37 resize(ev.nwirPerPlane, ev.ntpc, ev.npla, 0);
38 ev.nwirPerPlane[0][0] = 1149;
39 ev.nwirPerPlane[0][1] = 1148;
40 ev.nwirPerPlane[0][2] = 480;
41 for (
Index itpc=1; itpc<ev.ntpc; ++itpc ) {
42 for (
Index ipla=0; ipla<ev.npla; ++ipla ) ev.nwirPerPlane[itpc][ipla] = ev.nwirPerPlane[0][ipla];
45 resize(ev.nchaPerRop, ev.nrop, 0);
46 ev.nchaPerRop[0] = 800;
47 ev.nchaPerRop[1] = 800;
48 ev.nchaPerRop[2] = 480;
49 ev.nchaPerRop[3] = 480;
50 for (
Index irop=0; irop<ev.nrop; ++irop ) ev.nchaPerApa += ev.nchaPerRop[irop];
51 ev.nchatot = ev.napa*ev.nchaPerApa;
56 for (
Index icry=0; icry<ev.ncry; ++icry ) {
57 for (
Index iapa=0; iapa<ev.napa; ++iapa ) {
58 for (
Index irop=0; irop<ev.nrop; ++irop ) {
59 for (
Index kcha=0; kcha<ev.nchaPerRop[irop]; ++kcha ) {
60 ev.chacry[icha] = icry;
61 ev.chaapa[icha] = iapa;
62 ev.charop[icha] = irop;
70 for (
Index icry=0; icry<ev.ncry; ++icry ) {
71 for (
Index iapa=0; iapa<ev.napa; ++iapa ) {
72 for (
Index irop=0; irop<ev.nrop; ++irop ) {
73 ev.firstchan[icry][iapa][irop] = chan;
74 chan += ev.nchaPerRop[irop];
79 #include "setWorkspaceSpacePoints.dat" 81 ev.nopdet = 10*ev.napa;
82 ev.nopdetcha.resize(ev.nopdet, 1);
83 ev.nopcha = ev.nopdet;
84 resize(ev.opdetcha, ev.nopdet, 1, 0);
85 for (
Index iopt=0; iopt<ev.nopdet; ++iopt ) {
87 for (
Index ioch=0; ioch<ev.nopdetcha[iopt]; ++ ioch ) {
88 ev.opdetcha[iopt][ioch] = icha++;
Planes which measure Z direction.
void resize(Vector< T > &vec1, Index n1, const V &val)
constexpr ChannelID_t InvalidChannelID
ID of an invalid channel.
Signal from induction planes.
Signal from collection planes.