Jpp
SUPERMODULE.hh
Go to the documentation of this file.
1 #ifndef __SUPERMODULE__
2 #define __SUPERMODULE__
3 
4 #include <algorithm>
5 
6 #include "SUPERPMT.hh"
7 
8 
9 //Jpp
11 
12 using namespace std;
13 using namespace JDETECTOR;
14 
15 /**
16  * \author rgruiz
17  */
18 
19 
20 /**
21  * Class dedicated to the nanobeacon analyses, where the Modules in the detector are not regarded as single entities. Instead, they are related
22  * to the rest of the DOMs in a DU through the emission of the nanobeacon pulses. A DOM can be emitter (source) of light that is detected by other DOMS, and
23  * it can also be a receiver (target) of the light emitted by the other DOMS. The SUPERMODULE class handles the relation of a SUPERMODULE with its source SUPERMODULEs
24  * and with its target SUPEMODULES.
25  */
26 class SuperModule {
27 
29 
31 
33 
35 
37 
39 
41 
43 
45 
46  double mean_tot_refs , mean_tot_tgts , sigma_tot_refs , sigma_tot_tgts ;
47 
48 
49 public :
50 
51  /**
52  * Default constructor.
53  */
55 
56 
57 
58  /**
59  * Constructor.
60  * This constructor initializes the SUPERMODULE with a JModule.
61  *
62  * \param dom_ A JModule.
63  */
65  mean_tot_refs (0),
66  mean_tot_tgts (0),
67  sigma_tot_refs (0),
68  sigma_tot_tgts (0)
69 
70  {
71 
72  dom = dom_ ;
73 
74  }
75 
76 
77 
78  /**
79  * Destructor.
80  */
82 
83  for (auto & spm : ref_pmts){
84 
85  delete(spm) ;
86 
87  }
88 
89  for (auto & src : sources){
90 
91  for (auto & spm : src.second){
92 
93  delete(spm) ;
94 
95  }
96 
97  }
98 
99  }
100 
101 
102 
103  /**
104  * Checks if the SuperModule has good sources.
105  *
106  * \result true if the vector good_sources is not empty.
107  */
109 
110  bool has = false ;
111 
112  if (good_sources.size() > 0) has = true ;
113 
114  return has ;
115 
116  }
117 
118 
119 
120  /**
121  * Checks if the SuperModule has good targets.
122  *
123  * \result true if the vector good_targets is not empty.
124  */
126 
127  bool has = false ;
128 
129  if (good_targets.size() > 0) has = true ;
130 
131  return has ;
132 
133  }
134 
135 
136 
137  /**
138  * Get the mean ToT of the pulse of the nanobeacon in this supermodule detected by the pmts of this supermodule.
139  *
140  * \return mean ToT for the reference SuperPMTs
141  */
142  double getMeanToT_refs(){
143 
144  return mean_tot_refs ;
145 
146  }
147 
148 
149 
150  /**
151  * Get the mean ToT of the pulse of the nanobeacon in this supermodule detected by the pmts of the closest target supermodule.
152  *
153  * \return mean ToT for the target SuperPMTs
154  */
155  double getMeanToT_tgts(){
156 
157  return mean_tot_tgts ;
158 
159  }
160 
161 
162 
163  /**
164  * Get the standard deviation of ToT of the pulse of the nanobeacon in this supermodule detected by the pmts of this supermodule.
165  *
166  * \return standard deviation of ToTs
167  */
169 
170  return sigma_tot_refs ;
171 
172  }
173 
174 
175 
176  /**
177  * Get the standard deviation of ToT of the pulse of the nanobeacon in this supermodule detected by the pmts of the closest target supermodule.
178  *
179  * \return standard deviation of ToTs
180  */
182 
183  return sigma_tot_tgts ;
184 
185  }
186 
187 
188 
189  /**
190  * Computes the mean and standard deviation of the ToT of the pulse of the nanobeacon in this supermodule detected by the pmts of this supermodule.
191  */
193 
194  vector<double> tots ;
195 
196  double sum = 0 ;
197 
198  if (ref_pmts.size() == 0) return ;
199 
200  for (auto & spm : ref_pmts){
201 
202  double tot = spm->getNBPulse()->getMeanToT() ;
203 
204  sum += tot ;
205 
206  tots.push_back(tot);
207 
208  }
209 
210  mean_tot_refs = sum / tots.size() ;
211 
212 
213  sigma_tot_refs = 0;
214 
215  for (auto & t : tots){
216 
217  sigma_tot_refs += pow((t - mean_tot_refs) , 2) ;
218 
219  }
220 
221  sigma_tot_refs = sqrt(sigma_tot_refs / tots.size());
222 
223  }
224 
225 
226 
227  /**
228  * Computes the mean and standard deviation of the ToT of the pulse of the nanobeacon in this supermodule detected by the pmts of the closest target supermodule.
229  */
231 
232  if (targets.size()==0) return ;
233 
234  pair < SuperModule* , vector < SuperPMT* > > tgt = targets[0] ;
235 
236  vector < SuperPMT* > tgt_pmts = tgt.second ;
237 
238  vector<double> tots ;
239 
240  double sum = 0 ;
241 
242  for (auto spm : targets[0].second){
243 
244  double tot = spm->getNBPulse()->getMeanToT() ;
245 
246  sum += tot ;
247 
248  tots.push_back(tot);
249 
250  }
251 
252  mean_tot_tgts = sum / tots.size() ;
253 
254 
255  sigma_tot_tgts = 0;
256 
257  for (auto & t : tots){
258 
259  sigma_tot_tgts += pow((t - mean_tot_tgts) , 2) ;
260 
261  }
262 
263  sigma_tot_tgts= sqrt(sigma_tot_tgts / tots.size());
264 
265  }
266 
267 
268 
269  /**
270  * Get a pair containing a pointer to the closest source supermodule, and a vector of pointers to superpmts.
271  * Each of the superpmts contain the pulse from the closest source supermodule detected by the pmts in this supermodule.
272  *
273  * \return A pair consisting on a pointer to a SuperModule and the correspondint SuperPMTs
274  */
276 
277  return sources[sources.size() - 1];
278 
279  }
280 
281 
282 
283  /**
284  * Returns a pair containing a pointer to the closest target supermodule, and a vector of pointers to superpmts.
285  * Each of the superpmts contain the pulse from this supermodule detected by the pmts in the closest target supermodule.
286  *
287  * \return A pair consisting on a pointer to a SuperModule and the correspondint SuperPMTs
288  */
290 
291  return targets[0];
292 
293  }
294 
295 
296 
297  /**
298  * Returns a pair containing a pointer to the closest source supermodule from which pulses classified as good have been detected, and a vector of pointers to superpmts.
299  * Each of the superpmts contain the pulse from that supermodule detected by the pmts in this supermodule.
300  *
301  * \return A pair consisting on a pointer to a SuperModule and the correspondint SuperPMTs
302  */
304 
305  return good_sources[good_sources.size() - 1];
306 
307  }
308 
309 
310 
311  /**
312  * Returns a pair containing a pointer to the closest target supermodule that detected pulses from this supermodule that were classified as good, and a vector of pointers to superpmts.
313  * Each of the superpmts contain the pulse from this supermodule detected by the pmts in the closest target supermodule.
314  *
315  * \return A pair consisting on a pointer to a SuperModule and the correspondint SuperPMTs
316  */
318 
319  return good_targets[0];
320 
321  }
322 
323 
324 
325  /**
326  * Searches for sources that have produced pulses classified as good in this supermodule.
327  */
329 
330  for (auto & src : sources){
331 
332  vector<SuperPMT*> good_pulses ;
333 
334  for (auto & spm: src.second){
335 
336  if (spm->getNBPulse()->IsGood()==true) good_pulses.push_back(spm) ;
337 
338  }
339 
340  if(good_pulses.size()>0){
341 
342  pair < SuperModule* , vector<SuperPMT*> > good_pair (src.first , good_pulses) ;
343 
344  good_sources.push_back (good_pair) ;
345 
346  }
347 
348  }
349 
350  }
351 
352 
353  /**
354  * Searches for sources that have produced pulses classified as good in this supermodule.
355  */
357 
358  for (auto & spm : ref_pmts){
359 
360  if (spm->getNBPulse()->IsGood()==true) good_ref_pmts.push_back(spm) ;
361 
362  }
363 
364  }
365 
366 
367 
368  /**
369  * Searches for target supermodules that have detected good pulses from this supermodule.
370  */
372 
373  for (auto & tgt : targets){
374 
375  vector<SuperPMT*> good_pulses ;
376 
377  for (auto & spm: tgt.second){
378 
379  if (spm->getNBPulse()->IsGood()==true) good_pulses.push_back(spm) ;
380 
381  }
382 
383  if(good_pulses.size()>0){
384 
385  pair < SuperModule* , vector<SuperPMT*> > good_pair (tgt.first , good_pulses) ;
386 
387  good_targets.push_back (good_pair) ;
388 
389  }
390 
391  }
392 
393  }
394 
395 
396 
397  /**
398  * Performs a fast analysis of all the SUPERPMTs related with this SUPERMODULE.
399  */
400  void analyzeAll(){
401 
402  analyzeRefs() ;
403 
404  analyzeSrcs() ;
405 
406  analyzeTgts() ;
407 
408  }
409 
410 
411 
412  /**
413  * Performs a fit of the time distribution of all the SUPERPMTs related with this SUPERMODULE.
414  */
415  void fitAll(){
416 
417  fitRefs() ;
418 
419  fitSrcs() ;
420 
421  fitTgts() ;
422 
423  }
424 
425 
426 
427  /**
428  * Performs a fast analysis of the NBPulses of the SUPERPMTs from this supermodule that detected the pulse emited by this supermodule.
429  */
430  void analyzeRefs(){
431 
432  for (auto & spm : ref_pmts){
433 
434  spm->analyzeFast() ;
435 
436  }
437 
438  }
439 
440 
441 
442  /**
443  * Performs a fit of the NBPulses of the SUPERPMTs from this supermodule.
444  */
445  void fitRefs(){
446 
447  for (auto & spm : ref_pmts){
448 
449  spm->fit() ;
450 
451  }
452 
453  }
454 
455 
456 
457  /**
458  * Performs a fast analysis of the NBPulses of the SUPERPMTs from this supermodule corresponding to the nanobeacon signal emitted by other supermodules.
459  */
460  void analyzeSrcs(){
461 
462  for (auto & src : sources){
463 
464  for (auto & spm : src.second){
465 
466  spm->analyzeFast() ;
467 
468  }
469 
470  }
471 
472  }
473 
474 
475 
476  /**
477  * Performs a fit of the NBPulses of the SUPERPMTs from this supermodule corresponding to the nanobeacon signal emitted by other supermodules.
478  */
479  void fitSrcs(){
480 
481  for (auto & src : sources){
482 
483  for (auto & spm : src.second){
484 
485  spm->fit() ;
486 
487  }
488 
489  }
490 
491  }
492 
493 
494 
495  /**
496  * Performs a fast analysis of the NBPulses of the SUPERPMTs from other supermodules corresponding to the nanobeacon signal emitted by this supermodule.
497  */
498  void analyzeTgts(){
499 
500  for (auto & tgt : targets){
501 
502  for (auto & spm : tgt.second){
503 
504  spm->analyzeFast() ;
505 
506  }
507 
508  }
509 
510  }
511 
512 
513 
514  /**
515  * Performs a fit of the NBPulses of the SUPERPMTs from other supermodules corresponding to the nanobeacon signal emitted by this supermodule.
516  */
517  void fitTgts(){
518 
519  for (auto & tgt : targets){
520 
521  for (auto & spm : tgt.second){
522 
523  spm->fit() ;
524 
525  }
526 
527  }
528 
529  }
530 
531 
532 
533  /**
534  * Get a vector of targets.
535  *
536  * \return A vector of pairs consisting on a pointer to a SuperModule and the correspondint SuperPMTs
537  */
539 
540  return targets ;
541 
542  }
543 
544 
545 
546  /**
547  * Get a vector of sources.
548  *
549  * \return A vector of pairs consisting on a pointer to a SuperModule and the correspondint SuperPMTs
550  */
552 
553  return sources ;
554 
555  }
556 
557 
558 
559  /**
560  * Returns a vector of good targets.
561  *
562  * \return A vector of pairs consisting on a pointer to a SuperModule and the correspondint SuperPMTs
563  */
565 
566  return good_targets ;
567 
568  }
569 
570 
571 
572  /**
573  * Returns a vector of good sources.
574  *
575  * \return A vector of pairs consisting on a pointer to a SuperModule and the correspondint SuperPMTs
576  */
578 
579  return good_sources ;
580 
581  }
582 
583 
584 
585  /**
586  * Adds a target.
587  */
589 
590  targets.push_back(p) ;
591 
592  }
593 
594 
595 
596  /**
597  * Adds a source.
598  */
600 
601  sources.push_back(p) ;
602 
603  }
604 
605 
606 
607  /**
608  * Returns a vector of SUPERPMTs with the pulses from the nanobeacon in this supermodule detected by the pmts of this supermodule.
609  *
610  * \return A vector of SuperPMTs
611  */
613 
614  return ref_pmts ;
615 
616  }
617 
618 
619 
620  /**
621  * Returns a JPMT from this supermodule.
622  *
623  * \param i A number from 0 to 30
624  */
625  JPMT getPMT (int i){
626 
627  return dom.getPMT(i) ;
628 
629  }
630 
631 
632 
633  /**
634  * Returns the floor of this supermodule.
635  *
636  * \return floor number
637  */
638  int getFloor(){
639 
640  return dom.getFloor() ;
641 
642  }
643 
644 
645 
646  /**
647  * Returns the string of this supermodule.
648  *
649  * \return string number
650  */
651  int getString(){
652 
653  return dom.getString() ;
654 
655  }
656 
657 
658 
659  /**
660  * Returns the JModule corresponding to this supermodule.
661  *
662  * \return the corresponding JModule
663  */
665 
666  return dom ;
667 
668  }
669 
670 
671 
672  /**
673  * Returns vector with pointers to all the supermodules above this one in the DU.
674  *
675  * \return vector of SuperModules
676  */
678 
679  return possible_tgts ;
680 
681  }
682 
683 
684 
685  /**
686  * Returns vector with pointers to all the supermodules below this one in the DU.
687  *
688  * \return vector of SuperModules
689  */
691 
692  return possible_srcs ;
693 
694  }
695 
696 
697 
698  /**
699  * Sets the JModule from this supermodule.
700  *
701  * \param dom_ The JModule to be set.
702  */
703  void setDom(JModule dom_){
704 
705  dom = dom_ ;
706 
707  }
708 
709 
710 
711  /**
712  * Adds a reference SUPERPMT to this supermodule.
713  *
714  * \param superPM A superPMT.
715  */
716  void add_ref_pmt (SuperPMT* superPM){
717 
718  ref_pmts.push_back(superPM) ;
719 
720  }
721 
722 
723 
724  /**
725  * Adds a SUPERMODULE to the list of possible sources of this supermodule.
726  *
727  * \param super_m A SUPERMODULE.
728  */
729  void add_possible_src (SuperModule* super_m){
730 
731  possible_srcs.push_back(super_m) ;
732 
733  }
734 
735 
736 
737  /**
738  * Adds a SUPERMODULE to the list of possible targets of this supermodule.
739  *
740  * \param super_m A SUPERMODULE.
741  */
742  void add_possible_tgt (SuperModule* super_m){
743 
744  possible_tgts.push_back(super_m) ;
745 
746  }
747 
748 
749 };
750 
751 #endif
SuperModule::get_closest_target
pair< SuperModule *, vector< SuperPMT * > > get_closest_target()
Returns a pair containing a pointer to the closest target supermodule, and a vector of pointers to su...
Definition: SUPERMODULE.hh:289
SuperModule::getSigmaToT_refs
double getSigmaToT_refs()
Get the standard deviation of ToT of the pulse of the nanobeacon in this supermodule detected by the ...
Definition: SUPERMODULE.hh:168
SuperModule::possible_tgts
vector< SuperModule * > possible_tgts
Definition: SUPERMODULE.hh:36
SuperModule::get_possible_srcs
vector< SuperModule * > get_possible_srcs()
Returns vector with pointers to all the supermodules below this one in the DU.
Definition: SUPERMODULE.hh:690
SUPERPMT.hh
SuperModule::analyzeAll
void analyzeAll()
Performs a fast analysis of all the SUPERPMTs related with this SUPERMODULE.
Definition: SUPERMODULE.hh:400
SuperModule::getString
int getString()
Returns the string of this supermodule.
Definition: SUPERMODULE.hh:651
SuperModule::compute_mean_tot_tgt
void compute_mean_tot_tgt()
Computes the mean and standard deviation of the ToT of the pulse of the nanobeacon in this supermodul...
Definition: SUPERMODULE.hh:230
SuperModule::analyzeSrcs
void analyzeSrcs()
Performs a fast analysis of the NBPulses of the SUPERPMTs from this supermodule corresponding to the ...
Definition: SUPERMODULE.hh:460
SuperModule::get_targets
vector< pair< SuperModule *, vector< SuperPMT * > > > get_targets()
Get a vector of targets.
Definition: SUPERMODULE.hh:538
SuperModule::analyzeTgts
void analyzeTgts()
Performs a fast analysis of the NBPulses of the SUPERPMTs from other supermodules corresponding to th...
Definition: SUPERMODULE.hh:498
std::vector< SuperPMT * >
SuperModule::add_possible_src
void add_possible_src(SuperModule *super_m)
Adds a SUPERMODULE to the list of possible sources of this supermodule.
Definition: SUPERMODULE.hh:729
SuperPMT
Class containing a JPMT and a NBPulse object.
Definition: SUPERPMT.hh:22
SuperModule::get_possible_tgts
vector< SuperModule * > get_possible_tgts()
Returns vector with pointers to all the supermodules above this one in the DU.
Definition: SUPERMODULE.hh:677
SuperModule::SuperModule
SuperModule()
Default constructor.
Definition: SUPERMODULE.hh:54
SuperModule::targets
vector< pair< SuperModule *, vector< SuperPMT * > > > targets
Definition: SUPERMODULE.hh:42
SuperModule::good_ref_pmts
vector< SuperPMT * > good_ref_pmts
Definition: SUPERMODULE.hh:32
SuperModule::add_possible_tgt
void add_possible_tgt(SuperModule *super_m)
Adds a SUPERMODULE to the list of possible targets of this supermodule.
Definition: SUPERMODULE.hh:742
SuperModule::has_good_sources
bool has_good_sources()
Checks if the SuperModule has good sources.
Definition: SUPERMODULE.hh:108
JDETECTOR::JModule::getPMT
const JPMT & getPMT(const int index) const
Get PMT.
Definition: JModule.hh:173
SuperModule::getFloor
int getFloor()
Returns the floor of this supermodule.
Definition: SUPERMODULE.hh:638
SuperModule::select_good_tgts
void select_good_tgts()
Searches for target supermodules that have detected good pulses from this supermodule.
Definition: SUPERMODULE.hh:371
SuperModule::fitRefs
void fitRefs()
Performs a fit of the NBPulses of the SUPERPMTs from this supermodule.
Definition: SUPERMODULE.hh:445
SuperModule::get_closest_source
pair< SuperModule *, vector< SuperPMT * > > get_closest_source()
Get a pair containing a pointer to the closest source supermodule, and a vector of pointers to superp...
Definition: SUPERMODULE.hh:275
SuperModule::fitTgts
void fitTgts()
Performs a fit of the NBPulses of the SUPERPMTs from other supermodules corresponding to the nanobeac...
Definition: SUPERMODULE.hh:517
SuperModule::get_good_sources
vector< pair< SuperModule *, vector< SuperPMT * > > > get_good_sources()
Returns a vector of good sources.
Definition: SUPERMODULE.hh:577
SuperModule::dom
JModule dom
Definition: SUPERMODULE.hh:28
JDETECTOR::JModule
Data structure for a composite optical module.
Definition: JModule.hh:49
SuperModule::add_ref_pmt
void add_ref_pmt(SuperPMT *superPM)
Adds a reference SUPERPMT to this supermodule.
Definition: SUPERMODULE.hh:716
SuperModule::get_closest_good_target
pair< SuperModule *, vector< SuperPMT * > > get_closest_good_target()
Returns a pair containing a pointer to the closest target supermodule that detected pulses from this ...
Definition: SUPERMODULE.hh:317
JDETECTOR::JPMT
Data structure for PMT geometry and calibration.
Definition: JPMT.hh:53
std::pair
Definition: JSTDTypes.hh:15
SuperModule
Class dedicated to the nanobeacon analyses, where the Modules in the detector are not regarded as sin...
Definition: SUPERMODULE.hh:26
SuperModule::get_good_targets
vector< pair< SuperModule *, vector< SuperPMT * > > > get_good_targets()
Returns a vector of good targets.
Definition: SUPERMODULE.hh:564
JDetectorToolkit.hh
SuperModule::good_targets
vector< pair< SuperModule *, vector< SuperPMT * > > > good_targets
Definition: SUPERMODULE.hh:44
SuperModule::select_good_refs
void select_good_refs()
Searches for sources that have produced pulses classified as good in this supermodule.
Definition: SUPERMODULE.hh:356
SuperModule::fitSrcs
void fitSrcs()
Performs a fit of the NBPulses of the SUPERPMTs from this supermodule corresponding to the nanobeacon...
Definition: SUPERMODULE.hh:479
SuperModule::good_sources
vector< pair< SuperModule *, vector< SuperPMT * > > > good_sources
Definition: SUPERMODULE.hh:40
SuperModule::setDom
void setDom(JModule dom_)
Sets the JModule from this supermodule.
Definition: SUPERMODULE.hh:703
SuperModule::getMeanToT_refs
double getMeanToT_refs()
Get the mean ToT of the pulse of the nanobeacon in this supermodule detected by the pmts of this supe...
Definition: SUPERMODULE.hh:142
SuperModule::getMeanToT_tgts
double getMeanToT_tgts()
Get the mean ToT of the pulse of the nanobeacon in this supermodule detected by the pmts of the close...
Definition: SUPERMODULE.hh:155
SuperModule::has_good_targets
bool has_good_targets()
Checks if the SuperModule has good targets.
Definition: SUPERMODULE.hh:125
SuperModule::getPMT
JPMT getPMT(int i)
Returns a JPMT from this supermodule.
Definition: SUPERMODULE.hh:625
std
Definition: jaanetDictionary.h:36
SuperModule::add_tgt
void add_tgt(pair< SuperModule *, vector< SuperPMT * > > p)
Adds a target.
Definition: SUPERMODULE.hh:588
SuperModule::fitAll
void fitAll()
Performs a fit of the time distribution of all the SUPERPMTs related with this SUPERMODULE.
Definition: SUPERMODULE.hh:415
SuperModule::sources
vector< pair< SuperModule *, vector< SuperPMT * > > > sources
Definition: SUPERMODULE.hh:38
SuperModule::ref_pmts
vector< SuperPMT * > ref_pmts
Definition: SUPERMODULE.hh:30
SuperModule::compute_mean_tot_ref
void compute_mean_tot_ref()
Computes the mean and standard deviation of the ToT of the pulse of the nanobeacon in this supermodul...
Definition: SUPERMODULE.hh:192
SuperModule::sigma_tot_tgts
double sigma_tot_tgts
Definition: SUPERMODULE.hh:46
JDETECTOR::JModuleLocation::getFloor
int getFloor() const
Get floor number.
Definition: JModuleLocation.hh:144
SuperModule::add_src
void add_src(pair< SuperModule *, vector< SuperPMT * > > p)
Adds a source.
Definition: SUPERMODULE.hh:599
SuperModule::getSigmaToT_tgts
double getSigmaToT_tgts()
Get the standard deviation of ToT of the pulse of the nanobeacon in this supermodule detected by the ...
Definition: SUPERMODULE.hh:181
SuperModule::get_ref_pmts
vector< SuperPMT * > get_ref_pmts()
Returns a vector of SUPERPMTs with the pulses from the nanobeacon in this supermodule detected by the...
Definition: SUPERMODULE.hh:612
SuperModule::analyzeRefs
void analyzeRefs()
Performs a fast analysis of the NBPulses of the SUPERPMTs from this supermodule that detected the pul...
Definition: SUPERMODULE.hh:430
SuperModule::select_good_srcs
void select_good_srcs()
Searches for sources that have produced pulses classified as good in this supermodule.
Definition: SUPERMODULE.hh:328
SuperModule::~SuperModule
~SuperModule()
Destructor.
Definition: SUPERMODULE.hh:81
SuperModule::get_closest_good_source
pair< SuperModule *, vector< SuperPMT * > > get_closest_good_source()
Returns a pair containing a pointer to the closest source supermodule from which pulses classified as...
Definition: SUPERMODULE.hh:303
SuperModule::getDom
JModule getDom()
Returns the JModule corresponding to this supermodule.
Definition: SUPERMODULE.hh:664
JDETECTOR
Auxiliary classes and methods for detector calibration.
Definition: JAnchor.hh:12
SuperModule::get_sources
vector< pair< SuperModule *, vector< SuperPMT * > > > get_sources()
Get a vector of sources.
Definition: SUPERMODULE.hh:551
SuperModule::SuperModule
SuperModule(JModule dom_)
Constructor.
Definition: SUPERMODULE.hh:64
JDETECTOR::JModuleLocation::getString
int getString() const
Get string number.
Definition: JModuleLocation.hh:133
SuperModule::possible_srcs
vector< SuperModule * > possible_srcs
Definition: SUPERMODULE.hh:34