Hall-D Software  alpha
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
HitRebuilderTAC.h
Go to the documentation of this file.
1 /*
2  * HitRebuilderTAC.h
3  *
4  * Created on: Jun 7, 2017
5  * Author: Hovanes Egiyan
6  */
7 
8 #ifndef LIBRARIES_TAC_HITREBUILDERTAC_H_
9 #define LIBRARIES_TAC_HITREBUILDERTAC_H_
10 
11 #include <vector>
12 #include <set>
13 #include <stdexcept>
14 
15 #include <JANA/jerror.h>
16 #include <JANA/JEventLoop.h>
17 #include <JANA/JFactory.h>
18 #include <DAQ/Df250WindowRawData.h>
19 
20 #include "DTACDigiHit.h"
21 #include "DTACTDCDigiHit.h"
22 #include "DTACHit.h"
23 
25 
26 class HitRebuilderTAC : virtual public HitRebuilderInterfaceTAC {
27 protected:
28  double timeScaleADC = 4.0;
29  double adcTimeOffset = 0;
30  double timeBaseADC = -130;
31 
32  double adcTimeRescaleFactor = 64.0;
33 
34  std::set<const Df250WindowRawData*> rawDataPtrSet;
35 
36 // static std::string tagString;
37 
38  virtual double getTimeFromRawData(const std::vector<uint16_t>& samples) override ;
39  virtual const Df250WindowRawData* getRawData(const DTACHit* baseHit) override ;
40 
41  jerror_t readCCDB( jana::JEventLoop* eventLoop );
42 
43 // static std::string& setTagString( std::string tag ) { return (tagString = tag ); }
44 public:
45 // HitRebuilderTAC(double timeScale, double timeOffset, double timeBase ) :
46 // timeScaleADC(timeScale), adcTimeOffset(timeOffset), timeBaseADC(
47 // timeBase) {
48 // }
49  HitRebuilderTAC( jana::JEventLoop* eventLoop ) : HitRebuilderInterfaceTAC() {
50  HitRebuilderTAC::readCCDB( eventLoop );
51  }
52 
55  f.timeBaseADC) {
56  }
58  if (this != &f) {
62  }
63  return *this;
64  }
65  virtual ~HitRebuilderTAC() {
66  // TODO Auto-generated destructor stub
67  }
68 
69  virtual std::vector<DTACHit*> operator()(
70  vector<const DTACHit*>& baseHitVector) override ;
72  return "REBUILD";
73  }
74 
75  double getADCTimeOffset() const {
76  return adcTimeOffset;
77  }
78 
79  void setADCTimeOffset(double adcTimeOffset = 0) {
81  }
82 
83  const std::set<const Df250WindowRawData*>& getRawDataPtrSet() const {
84  return rawDataPtrSet;
85  }
86 
88  const std::set<const Df250WindowRawData*>& rawDataPtrSet) {
89  this->rawDataPtrSet = rawDataPtrSet;
90  }
91 
92  double getTimeBaseADC() const {
93  return timeBaseADC;
94  }
95 
96  void setTimeBaseADC(double timeBaseADC = -130) {
97  this->timeBaseADC = timeBaseADC;
98  }
99 
100  double getTimeScaleADC() const {
101  return timeScaleADC;
102  }
103 
104  void setTimeScaleADC(double timeScaleADC = 4.0) {
105  this->timeScaleADC = timeScaleADC;
106  }
107 };
108 
109 #endif /* LIBRARIES_TAC_HITREBUILDERTAC_H_ */
HitRebuilderTAC & operator=(const HitRebuilderTAC &f)
void setTimeBaseADC(double timeBaseADC=-130)
static std::string getTagString()
jerror_t readCCDB(jana::JEventLoop *eventLoop)
void setADCTimeOffset(double adcTimeOffset=0)
char string[256]
double adcTimeRescaleFactor
virtual std::vector< DTACHit * > operator()(vector< const DTACHit * > &baseHitVector) override
virtual ~HitRebuilderTAC()
TF1 * f
Definition: FitGains.C:21
double getTimeScaleADC() const
HitRebuilderTAC(const HitRebuilderTAC &f)
virtual const Df250WindowRawData * getRawData(const DTACHit *baseHit) override
virtual double getTimeFromRawData(const std::vector< uint16_t > &samples) override
const std::set< const Df250WindowRawData * > & getRawDataPtrSet() const
void setTimeScaleADC(double timeScaleADC=4.0)
std::set< const Df250WindowRawData * > rawDataPtrSet
double getTimeBaseADC() const
HitRebuilderTAC(jana::JEventLoop *eventLoop)
void setRawDataPtrSet(const std::set< const Df250WindowRawData * > &rawDataPtrSet)
double getADCTimeOffset() const