26 fRasterFreq(
NBPM), fSlopePedestal(
NBPM), fRasterPedestal(
NBPM),
43 const char*
const here =
"ReadDatabase";
57 memset(zpos, 0,
sizeof(zpos));
59 DBRequest config_request[] = {
60 {
"detmap", &detmap, kIntV},
85 Error(
Here(
here),
"Incorrect number of channels = %u defined in "
86 "detector map. Must be either %u or %u. Fix database.",
90 Warning(
Here(
here),
"Only %u channels defined in detector map. Raster "
91 "slope information will not be available", nchan);
100 memset( rped, 0,
sizeof(rped) );
101 memset( sped, 0,
sizeof(sped) );
103 DBRequest calib_request[] = {
154 {
"rawcur.x",
"current in horizontal raster",
"GetRawPosX()" },
155 {
"rawcur.y",
"current in vertical raster",
"GetRawPosY()"},
156 {
"rawslope.x",
"derivative of current in horizontal raster",
"GetRawSlopeX()" },
157 {
"rawslope.y",
"derivative of current in vertical raster",
"GetRawSlopeY()"},
158 {
"bpma.x",
"reconstructed x-position at 1st bpm",
"GetPosBPMAX()"},
159 {
"bpma.y",
"reconstructed y-position at 1st bpm",
"GetPosBPMAY()"},
160 {
"bpma.z",
"reconstructed z-position at 1st bpm",
"GetPosBPMAZ()"},
161 {
"bpmb.x",
"reconstructed x-position at 2nd bpm",
"GetPosBPMBX()"},
162 {
"bpmb.y",
"reconstructed y-position at 2nd bpm",
"GetPosBPMBY()"},
163 {
"bpmb.z",
"reconstructed z-position at 2nd bpm",
"GetPosBPMBZ()"},
164 {
"target.x",
"reconstructed x-position at nom. interaction point",
"GetPosTarX()"},
165 {
"target.y",
"reconstructed y-position at nom. interaction point",
"GetPosTarY()"},
166 {
"target.z",
"reconstructed z-position at nom. interaction point",
"GetPosTarZ()"},
167 {
"target.dir.x",
"reconstructed x-component of beam direction",
"fDirection.fX"},
168 {
"target.dir.y",
"reconstructed y-component of beam direction",
"fDirection.fY"},
169 {
"target.dir.z",
"reconstructed z-component of beam direction",
"fDirection.fZ"},
211 Warning(
Here(
"Decode"),
"Unexpected number of fired channels = %d."
212 "Setting beam position to nominal values.",
fNfired);
222 if( k < 0 || k >=
NCHAN ) {
223 Warning(
Here(
"Decode"),
"Illegal detector channel %d", k);
244 assert(k >= 0 && k <
NCHAN);
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void data
Option_t Option_t TPoint TPoint const char mode
static constexpr Int_t NCHAN
static constexpr Int_t NBPM
static constexpr Int_t NPOS
static const char *const here
static Int_t LoadDB(FILE *file, const TDatime &date, const DBRequest *request, const char *prefix, Int_t search=0, const char *here="THaAnalysisObject::LoadDB")
static Int_t DefineVarsFromList(const void *list, EType type, EMode mode, const char *def_prefix, const TObject *obj, const char *prefix, const char *here, const char *comment_subst="")
virtual const char * Here(const char *) const
virtual FILE * OpenFile(const TDatime &date)
UInt_t GetTotNumChan() const
Int_t FillDetMap(const std::vector< Int_t > &values, UInt_t flags=0, const char *here="FillDetMap")
virtual OptUInt_t LoadData(const THaEvData &evdata, const DigitizerHitInfo_t &hitinfo)
virtual Int_t Decode(const THaEvData &)
virtual void Clear(Option_t *="")
bool CheckHitInfo(const DigitizerHitInfo_t &hitinfo) const
virtual Int_t Decode(const THaEvData &)
virtual Int_t DefineVariables(EMode mode=kDefine)
virtual Int_t StoreHit(const DigitizerHitInfo_t &hitinfo, UInt_t data)
virtual Int_t ReadDatabase(const TDatime &date)
virtual OptUInt_t LoadData(const THaEvData &evdata, const DigitizerHitInfo_t &hitinfo)
THaRaster(const char *name, const char *description="", THaApparatus *a=nullptr)
TMatrixTBase< Element > & ResizeTo(const TMatrixT< Element > &m)
void Clear(Option_t *option="") override
virtual void Warning(const char *method, const char *msgfmt,...) const
virtual void Error(const char *method, const char *msgfmt,...) const
void SetXYZ(Double_t x, Double_t y, Double_t z)
void SetElements(const Element *elements)