15 ev.gname =
"protodune_geo";
16 ev.fullname =
"protodunev7";
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] = 1148;
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 "setProtoDuneSpacePoints.dat" 82 ev.nopdet = 10*ev.napa - 2 + 2*16;
84 ev.nopdetcha.resize(ev.nopdet, 4);
85 for (
Index icha=29; icha<=60; ++icha ) ev.nopdetcha[icha] = 1;
87 vector<Index> firstChan = {
88 144, 148, 152, 156, 160, 164, 168, 172, 176, 180,
89 240, 244, 248, 252, 256, 260, 276, 280, 284, 216,
90 220, 224, 228, 192, 232, 196, 200, 236, 204, 264,
91 264, 265, 265, 266, 266, 267, 267, 268, 269, 270,
92 271, 272, 273, 274, 275, 132, 132, 133, 133, 134,
93 134, 135, 135, 136, 137, 138, 139, 140, 141, 142,
94 143, 0, 4, 8, 12, 16, 20, 24, 28, 32,
95 36, 48, 52, 56, 60, 64, 68, 72, 76, 80,
96 84, 96, 100, 104, 108, 112, 116, 120, 124, 128
98 ev.opdetcha.resize(ev.nopdet);
101 for (
Index iodt=0; iodt<ev.nopdet; ++iodt ) {
102 ev.opdetcha[iodt].resize(ev.nopdetcha[iodt]);
103 icha = firstChan[iodt];
104 for (
Index ioch=0; ioch<ev.nopdetcha[iodt]; ++ioch ) {
105 ev.opdetcha[iodt][ioch] = icha++;
109 ev.nopchaHardware = ncha;
110 ev.nopcha = ncha - 8;
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.