8 #ifndef LIBRARIES_TAC_DTACHIT_FACTORY_H_
9 #define LIBRARIES_TAC_DTACHIT_FACTORY_H_
14 #include <JANA/JFactory.h>
15 #include <JANA/JEventLoop.h>
26 double energyScale = 1.0;
27 double timeScaleADC = 0.0625;
28 double timeBaseADC = -130.0;
29 double timeBaseTDC = -130;
32 double energyGain = 1.0;
33 double adcPedestal = 100;
34 double adcTimeOffset = 0;
35 double tdcTimeOffsets = 0;
36 vector<double> timeWalkParameters { 9.27503, -0.548155, 20.48000, 328.0000 };
53 virtual jerror_t init(
void)
override;
54 virtual jerror_t brun(jana::JEventLoop *eventLoop, int32_t runnumber)
56 virtual jerror_t evnt(jana::JEventLoop *eventLoop, uint64_t eventnumber)
58 virtual jerror_t erun(
void)
override;
59 virtual jerror_t fini(
void)
override;
61 virtual void Reset_Data(
void);
65 virtual jerror_t readCCDB( jana::JEventLoop *loop );
67 virtual DTACHit* findMatch(
double tdcTime);
70 virtual void makeFADCHits(jana::JEventLoop *loop, uint64_t eventnumber);
71 virtual void makeTDCHits(jana::JEventLoop *loop, uint64_t eventnumber);
74 return checkErrorsOnFADC;
77 static pthread_mutex_t runListMutex = PTHREAD_MUTEX_INITIALIZER;
78 bool returnValue =
false;
80 if (announcedRuns.count(runNumber) == 0) {
81 announcedRuns.insert(runNumber);
92 this->adcPedestal = adcPedestal;
100 this->adcTimeOffset = adcTimeOffset;
108 this->energyGain = energyGain;
116 this->energyScale = energyScale;
120 return tdcTimeOffsets;
124 this->tdcTimeOffsets = tdcTimeOffsets;
132 timeBaseADC = timeBaseAdc;
140 timeBaseTDC = timeBaseTdc;
148 timeScaleADC = timeScaleAdc;
152 return timeWalkParameters;
156 this->timeWalkParameters = timeWalkParameters;
virtual ~DTACHit_factory()
static set< int > announcedRuns
void setTimeBaseADC(double timeBaseAdc=-130.0)
void setEnergyGain(double energyGain=1.0)
void setTimeWalkParameters(const std::vector< double > &timeWalkParameters)
static bool useTimeWalkCorrections
static bool checkErrorsOnFADC
void setTDCTimeOffsets(double tdcTimeOffsets=0)
double getEnergyGain() const
void setADCTimeOffset(double adcTimeOffset=0)
double getTimeScaleADC() const
void setADCPedestal(double adcPedestal=100)
double getADCTimeOffset() const
double getEnergyScale() const
double getTimeBaseTDC() const
virtual void AppendData(DTACHit *hit)
void setTimeScaleADC(double timeScaleAdc=0.0625)
double getADCPedestal() const
static bool addRun(int runNumber)
static double timeWindowTDC
void setTimeBaseTDC(double timeBaseTdc=-130)
static bool errorCheckIsNeededForFADC()
static double timeDifferencInADCandTDC
double getTimeBaseADC() const
const std::vector< double > & getTimeWalkParameters() const
double getTDCTimeOffsets() const
void setEnergyScale(double energyScale=1.0)