CFEL - ASG Software Suite  2.5.0
CASS
mapcreator_base.h
Go to the documentation of this file.
1 // Copyright (C) 2011, 2013 Lutz Foucar
2 
3 /**
4  * @file mapcreator_base.h contains base class for all correction map creators.
5  *
6  * @author Lutz Foucar
7  */
8 
9 #ifndef _MAPCREATORBASE_H_
10 #define _MAPCREATORBASE_H_
11 
12 #include <tr1/memory>
13 #include <vector>
14 
15 #include "pixeldetector.hpp"
16 
17 namespace cass
18 {
19 class CASSSettings;
20 
21 namespace pixeldetector
22 {
23 //forward declaration//
24 struct Frame;
25 
26 /** base class for all correction map creators
27  *
28  * @MapCreateList "none": does nothing to the maps.
29  * @GainMapCreateList "none": does nothing to the maps.
30  *
31  * a map creator will take the frame data that it gets to create correction maps.
32  *
33  * @author Lutz Foucar
34  */
36 {
37 public:
38  /** typedef the shared pointer of this */
39  typedef std::tr1::shared_ptr<MapCreatorBase> shared_pointer;
40 
41  /** the type of storage used */
42  typedef std::vector<Detector::frame_t> storage_t;
43 
44  /** virtual destructor */
45  virtual ~MapCreatorBase();
46 
47  /** create an instance of the requested functor
48  *
49  * @return a shared pointer to the requested type
50  * @param type the reqested type
51  */
52  static shared_pointer instance(const std::string &type);
53 
54  /** build map from frame
55  *
56  * take the input frame and use its data to build up the correction maps.
57  *
58  * @param frame the frame containing the data to build the maps from
59  */
60  virtual void operator() (const Frame &frame);
61 
62  /** load the settings of this creator
63  *
64  * @param s the CASSSettings object to read the information from
65  */
66  virtual void loadSettings(CASSSettings &s);
67 
68  /** control the calibration process
69  *
70  * used by the gui to tell the map creators to start the calibration
71  */
72  virtual void controlCalibration(const std::string& command);
73 };
74 
75 } //end namespace pixeldetector
76 } //end namespace cass
77 #endif
std::vector< Detector::frame_t > storage_t
the type of storage used
virtual void operator()(const Frame &frame)
build map from frame
Settings for CASS.
Definition: cass_settings.h:30
virtual ~MapCreatorBase()
virtual destructor
static shared_pointer instance(const std::string &type)
create an instance of the requested functor
virtual void controlCalibration(const std::string &command)
control the calibration process
std::tr1::shared_ptr< MapCreatorBase > shared_pointer
typedef the shared pointer of this
virtual void loadSettings(CASSSettings &s)
load the settings of this creator
A Frame of an advance Pixel Detector.
contains container for simple pixel detector data
base class for all correction map creators