CFEL - ASG Software Suite  2.5.0
CASS
delayline_non_sorting.h
Go to the documentation of this file.
1 //Copyright (C) 2011 Lutz Foucar
2 
3 /**
4  * @file delayline_non_sorting.h file contains the class that finds detectorhits
5  * without sorting
6  *
7  * @author Lutz Foucar
8  */
9 
10 #ifndef _DELAYLINENONSORTING_H_
11 #define _DELAYLINENONSORTING_H_
12 
13 #include <utility>
14 #include <tr1/memory>
15 
17 
18 namespace cass
19 {
20 namespace ACQIRIS
21 {
22 class PositionCalculator;
23 
24 /** Simple detectorhit creator
25  *
26  * this class will just go through the anodewire signals and create
27  * positions without any checks
28  *
29  * @cassttng .../NonSorting/{LayersToUse}\n
30  * Layers that should be used for sorting. Default is 0. Possible
31  * choises are:
32  * - 0: Layers X and Y (Quad Anode)
33  * - 1: Layers U and V (Hex Anode)
34  * - 2: Layers U and W (Hex Anode)
35  * - 3: Layers V and W (Hex Anode)
36  * @cassttng .../NonSorting/{ScalefactorFirstLayer|ScalefactorSecondLayer}\n
37  * the scalefactors that convert ns to mm for the two layers.
38  * Default is 0.4 | 0.4
39  *
40  * @author Lutz Foucar
41  */
44 {
45 public:
46  /** constructor */
48 
49  /** retrieve detector hits from signals
50  *
51  * goes through the anodewire signals and calculates positions without
52  * any checks.
53  *
54  * @return reference to the container containing the found hits
55  * @param[out] hits the container where the found hits will go
56  */
58 
59  /** load the settings of the analyzer
60  *
61  * load where to find the signals that we need to sort
62  *
63  * @param s reference to the CASSSettings object
64  * @param d the detector object that we the analyzer belongs to
65  */
67 
68 private:
69  /** the layer combination */
70  std::pair<std::pair<SignalProducer *,SignalProducer *> ,
71  std::pair<SignalProducer *,SignalProducer *> > _layerCombination;
72 
73  /** the calculator to calc the position for the correlated wireend signals */
74  std::tr1::shared_ptr<PositionCalculator> _poscalc;
75 
76  /** the scalefactor for the two layers (convert ns -> mm) */
77  std::pair<double,double> _sf;
78 
79 };
80 }//end namespace acqriis
81 }//end namespace cass
82 #endif
detectorHits_t & operator()(detectorHits_t &hits)
retrieve detector hits from signals
std::pair< double, double > _sf
the scalefactor for the two layers (convert ns -> mm)
Settings for CASS.
Definition: cass_settings.h:30
std::pair< std::pair< SignalProducer *, SignalProducer * >, std::pair< SignalProducer *, SignalProducer * > > _layerCombination
the layer combination
std::vector< detectorHit_t > detectorHits_t
define container for all detector hits
void loadSettings(CASSSettings &, DelaylineDetector &)
load the settings of the analyzer
Average out the iShit status to get the avererage hits
file contains base class for all detector analyzers.
std::tr1::shared_ptr< PositionCalculator > _poscalc
the calculator to calc the position for the correlated wireend signals
Simple detectorhit creator.
Base class for all detector analyzers.