1 #ifndef __FLASHFINDERFMWKINTERFACE_CXX__
2 #define __FLASHFINDERFMWKINTERFACE_CXX__
4 #include "art/Framework/Core/EDProducer.h"
5 #include "art/Framework/Core/ModuleMacros.h"
6 #include "art/Framework/Principal/Event.h"
7 #include "art/Framework/Principal/Handle.h"
8 #include "art/Framework/Principal/Run.h"
9 #include "art/Framework/Principal/SubRun.h"
10 #include "canvas/Utilities/InputTag.h"
11 #include "fhiclcpp/ParameterSet.h"
12 #include "messagefacility/MessageLogger/MessageLogger.h"
13 #include "art_root_io/TFileService.h"
22 std::vector<size_t> res;
23 ::art::ServiceHandle<geo::Geometry> geo;
25 for(
size_t opch=0; opch<geo->MaxOpChannel(); ++opch) {
26 if(geo->IsValidOpChannel(opch))
continue;
30 auto const& bbox = geo->Cryostat(cryostat).Boundaries();
31 for(
size_t opch=0; opch<geo->MaxOpChannel(); ++opch) {
32 if(geo->IsValidOpChannel(opch))
continue;
33 auto const& pt = geo->OpDetGeoFromOpChannel(opch).GetCenter();
34 if(!bbox.ContainsPosition(pt))
continue;
42 std::vector<size_t> res;
43 ::art::ServiceHandle<geo::Geometry> geo;
45 for(
size_t opdet=0; opdet<geo->NOpDets(); ++opdet) {
49 auto const& bbox = geo->Cryostat(cryostat).Boundaries();
50 for(
size_t opdet=0; opdet<geo->NOpDets(); ++opdet) {
51 auto const& pt = geo->OpDetGeoFromOpDet(opdet).GetCenter();
52 if(!bbox.ContainsPosition(pt))
continue;
60 ::art::ServiceHandle<geo::Geometry> geo;
62 return geo->NOpDets();
64 return geo->Cryostat(cryostat).NOpDet();
68 ::art::ServiceHandle<geo::Geometry> geo;
69 return geo->OpDetFromOpChannel(opch);
73 ::art::ServiceHandle<geo::Geometry> geo;
74 geo->OpDetGeoFromOpChannel(opch).GetCenter(xyz);
std::vector< size_t > ListOpDets(int cryostat)
std::vector< size_t > ListOpChannels(int cryostat)
size_t OpDetFromOpChannel(size_t opch)
size_t NOpDets(int cryostat)
void OpDetCenterFromOpChannel(size_t opch, double *xyz)
art framework interface to geometry description