00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef RECOADC_H
00019 #define RECOADC_H
00020
00021 #include "step.h"
00022
00023
00024 class RecoAdcReflect : public RecoStep {
00025
00026
00027 STD_string label() const {return "adc_reflect";}
00028 STD_string description() const {return "Reflect ADC if recoReflectBit is set";}
00029 bool process(RecoData& rd, RecoController& controller);
00030 RecoCoord input_coord() const {return RecoCoord::coord_with_mode(RecoIndex::collected,readout);}
00031 void modify_coord(RecoCoord& coord) const {}
00032 RecoStep* allocate() const {return new RecoAdcReflect;}
00033 void init() {}
00034
00035 };
00036
00037
00039
00040
00041 class RecoAdcGridPrep : public RecoStep {
00042
00043
00044 STD_string label() const {return "adc_gridprep";}
00045 STD_string description() const {return "Prepare ADC for gridding (ramp sampling)";}
00046 bool process(RecoData& rd, RecoController& controller);
00047 RecoCoord input_coord() const {return RecoCoord::coord_with_mode(RecoIndex::collected,readout);}
00048 void modify_coord(RecoCoord& coord) const {}
00049 RecoStep* allocate() const {return new RecoAdcGridPrep;}
00050 void init() {}
00051
00052 KspaceTraj traj;
00053 Mutex trajmutex;
00054
00055 };
00056
00058
00059
00060 class RecoAdcWeight : public RecoStep {
00061
00062
00063 STD_string label() const {return "adc_weight";}
00064 STD_string description() const {return "Weight ADC using weightVec";}
00065 bool process(RecoData& rd, RecoController& controller);
00066 RecoCoord input_coord() const {return RecoCoord::coord_with_mode(RecoIndex::collected,readout);}
00067 void modify_coord(RecoCoord& coord) const {}
00068 RecoStep* allocate() const {return new RecoAdcWeight;}
00069 void init() {}
00070
00071 Mutex weightMutex;
00072
00073 };
00074
00076
00077
00078 class RecoAdcBaseline : public RecoStep {
00079
00080
00081 STD_string label() const {return "adc_baseline";}
00082 STD_string description() const {return "Baseline correction of ADCs";}
00083 bool process(RecoData& rd, RecoController& controller);
00084 RecoCoord input_coord() const {return RecoCoord::coord_with_mode(RecoIndex::collected,readout);}
00085 void modify_coord(RecoCoord& coord) const {}
00086 RecoStep* allocate() const {return new RecoAdcBaseline;}
00087 void init() {}
00088
00089 };
00090
00091
00093
00094
00095 class RecoAdcPad : public RecoStep {
00096
00097
00098 STD_string label() const {return "adc_pad";}
00099 STD_string description() const {return "Pad missing points by zeroes";}
00100 bool process(RecoData& rd, RecoController& controller);
00101 RecoCoord input_coord() const {return RecoCoord::coord_with_mode(RecoIndex::collected,readout);}
00102 void modify_coord(RecoCoord& coord) const {}
00103 RecoStep* allocate() const {return new RecoAdcPad;}
00104 void init() {}
00105
00106 };
00107
00108
00109
00110 #endif
00111