CFEL - ASG Software Suite  2.5.0
CASS
tof_detector.h
Go to the documentation of this file.
1 //Copyright (C) 2010 Lutz Foucar
2 
3 /**
4  * @file tof_detector.h file contains the declaration of the class that
5  * describes a Time Of Flight Detector.
6  *
7  * @author Lutz Foucar
8  */
9 
10 #ifndef _TOF_DETECTOR_H_
11 #define _TOF_DETECTOR_H_
12 
13 #include "detector_backend.h"
14 #include "signal_producer.h"
15 
16 namespace cass
17 {
18 namespace ACQIRIS
19 {
20 /** A Time of Flight Detector.
21  *
22  * A Time of Flight Detector has only one component that produces signals
23  * that are recorded, the mcp. The SignalProducer (_mcp) does know how to
24  * extract the singals from the recoreded data. The function can be set up
25  * in the signal producers CASSSettings settings. Please refer to
26  * SignalProducer class describtion for further details.
27  *
28  * @cassttng AcqirisDetectors/\%detectorname\%/MCP\n
29  * Name of the MCP Signal. See cass::ACQIRIS::SignalProducer
30  *
31  * @author Lutz Foucar
32  */
34 {
35 public:
36  /** constructor.
37  *
38  * @param[in] name the name of the detector
39  */
40  TofDetector(const std::string name)
41  :DetectorBackend(name)
42  {}
43 
44  /** virtual destructor */
45  virtual ~TofDetector() {}
46 
47  /** associate the event with this detector
48  *
49  * Since all the data in just enclosed in the mcp, this function will just
50  * call the mcp associate member. Please refer to
51  * SignalProducer::associate() for further details.
52  *
53  * @param evt the event to whos data we associated to this detector
54  */
55  virtual void associate (const CASSEvent &evt);
56 
57  /** load the values from .ini file
58  *
59  * will just open the group named MCP and then call the member
60  * SingalProducer::loadSettings() of the _mcp.
61  *
62  * @param s the CASSSettings object to read the information from
63  */
64  virtual void loadSettings(CASSSettings &s);
65 
66  /** retrieve the mcp */
67  SignalProducer &mcp() {return _mcp;}
68 
69  /** retrieve the detector type */
70  DetectorType type() {return ToF;}
71 
72 protected:
73  /** the mcp of the detector */
75 };
76 }//end namespace acqiris
77 }//end namespace cass
78 
79 
80 #endif
Event to store all LCLS Data.
Definition: cass_event.h:32
file contains the classes that describe how to analyze the waveform and stores the result...
Settings for CASS.
Definition: cass_settings.h:30
SignalProducer _mcp
the mcp of the detector
Definition: tof_detector.h:74
virtual ~TofDetector()
virtual destructor
Definition: tof_detector.h:45
A Time of Flight Detector.
Definition: tof_detector.h:33
SignalProducer & mcp()
retrieve the mcp
Definition: tof_detector.h:67
contains the base class declaration for all detectors that are attached to an acqiris device...
DetectorType
the types of detectors that are available
TofDetector(const std::string name)
constructor.
Definition: tof_detector.h:40
virtual void associate(const CASSEvent &evt)
associate the event with this detector
const std::string name() const
return the detector name
Base class for all Detectors attached to an Acqiris Instrument.
virtual void loadSettings(CASSSettings &s)
load the values from .ini file
DetectorType type()
retrieve the detector type
Definition: tof_detector.h:70