9 #include "QDetChannelCollectionHandle.hh"
16 using namespace Diana;
20 fNSigma = GetDouble(
"NumberOfSigma",3,
false);
21 fSideAmplitudeOwner = GetString(
"SideAmplitudeOwner",
"SideAmplitude",
false);
22 fMainEnergyOwner = GetString(
"MainEnergyOwner",
"ApplyCalibration",
false);
23 fSideEnergyOwner = GetString(
"SideEnergyOwner",
"ApplyCalibration_Sync",
false);
41 const int run = hdr.
GetRun();
49 GlobalData().Get(
"DAQ",&
rHandle,
"");
59 QDetChannelCollectionHandle dccHandle;
60 dccHandle.SetRun(run);
61 GlobalData().Get(
"",&dccHandle,
"");
63 tower = dccHandle.Get().Get(chan).fTd.fTdTower;
64 floor = dccHandle.Get().Get(chan).fTd.fTdFloor;
65 position = dccHandle.Get().Get(chan).fTd.fTdPos;
77 for(
size_t i = 0; i < neighbours.
Size(); i++) {
93 n_tower = dccHandle.Get().Get(n_channel).fTd.fTdTower;
94 n_floor = dccHandle.Get().Get(n_channel).fTd.fTdFloor;
95 n_position = dccHandle.Get().Get(n_channel).fTd.fTdPos;
126 double time = double(header.
GetTime().GetFromStartRunNs())/1e09;
128 const QOFData&
of = ev.
Get<QOFData>(
"COF",
"OFData");
129 double samplingFrequency = fRunData.GetChannelRunData(pi.GetChannelId()).
fSamplingFrequency;
130 time +=
of.GetDelay()/1000 - double(pi.GetMasterSample().GetSampleIndex())/samplingFrequency;
QOptimumFilter of(ap, an,-1, false)
QRunDataHandle rHandle(753)
chanRunData fSamplingFrequency
#define REGISTER_MODULE(clazz)
Save as coincidence data the information on side pulses calulated by the module SideAmplitude.
void Init(Diana::QEvent &ev)
Init method.
void Do(Diana::QEvent &ev, const Diana::QEventList &neighbours)
Do method. Declare and implement only one of the two versions.
double GetTime(const Diana::QEvent &ev)
Get time of the event.
base types wrapped into a QObject. Currently implemented types are QInt QDouble and QFloat....
std::vector< QCoincidentChannel > fCoincidentChannels
data of coincident channel
label for QObject in the QEvent
list of references to const QEvent (s)
size_t Size() const
number of QEvent (s)
const Q & GetByLabel(const QEventLabel &label) const
Get a QObject in read mode by label.
void RequireByLabel(const QEventLabel &label) const
notify the QEvent that we need a QObject, if not found an exception is thrown
void Require(const std::string &owner, const std::string &name) const
notify the QEvent that we need a QObject, if not found an exception is thrown
void Get(const char *owner, ReadHandle< Q > &handle) const
Get a QObject Handle in read mode.
void Add(WriteHandle< Q > &handle)
Add a QObject to the event.
Raw event: bolometer channel, trigger positions and types.
const int & GetChannelId() const
Get ChannelId.
global handle for QRunData
the Diana namespace is needed because sometimes we use Qt libraries, that use same class names of our...