19 assert(chip >= 1 && chip <= 8);
20 assert(chan >= 0 && chan <= 15);
23 int chipMin = -1, chanMin = -1;
25 int chipSign = 0, chanSign = 0;
27 if(chip == 1 || chip == 2){
28 wireMin = 1; chipMin = 2; chipSign = -1; chanSign = -1;
29 if(chan <= 4){view =
geo::kU; chanMin = 4; height = 5;}
30 else if(chan <= 9){view =
geo::kV; chanMin = 9; height = 5;}
31 else{view =
geo::kW; chanMin = 15; height = 6;}
34 if(chip == 3 || chip == 4){
35 wireMin = 2; chipMin = 4; chipSign = -1; chanSign = +1;
36 if(chan <= 5){view =
geo::kW; chanMin = 0; height = 6;}
37 else if(chan <= 10){view =
geo::kV; chanMin = 6; height = 5;}
38 else{view =
geo::kU; chanMin = 11; height = 5;}
41 if(chip == 5 || chip == 6){
42 chipMin = 5; chipSign = +1; chanSign = -1;
43 if(chan <= 4){view =
geo::kU; wireMin = 21; chanMin = 4; height = 5;}
44 else if(chan <= 9){view =
geo::kV; wireMin = 21; chanMin = 9; height = 5;}
45 else{view =
geo::kW; wireMin = 25; chanMin = 15; height = 6;}
48 if(chip == 7 || chip == 8){
49 chipMin = 7; chipSign = +1; chanSign = +1;
50 if(chan <= 5){view =
geo::kW; wireMin = 26; chanMin = 0; height = 6;}
51 else if(chan <= 10){view =
geo::kV; wireMin = 22; chanMin = 6; height = 5;}
52 else{view =
geo::kU; wireMin = 22; chanMin = 11; height = 5;}
55 assert(wireMin >= 0 && chipMin >= 0 && chanMin >= 0 && height >= 0 && chipSign != 0 && chanSign != 0);
58 wire = wireMin+2*((chan-chanMin)*chanSign + (chip-chipMin)*height*chipSign);
60 assert(wire >= 1 && wire <= 48);
Planes which measure W (third view for Bo, MicroBooNE, etc).