if (!found) {\r
entry = -1;\r
TString str;\r
- str += AliLHCDipValD::TimeAsString(tmin);\r
+ str += AliLHCDipValF::TimeAsString(tmin);\r
str += " : ";\r
- str += AliLHCDipValD::TimeAsString(tmax);\r
+ str += AliLHCDipValF::TimeAsString(tmax);\r
AliWarning(Form("All entries for %s are outside the requested range:\n%s",key,str.Data()));\r
if (fkMap2Process) delete arr; // created on demand\r
return 0;\r
AliDCSArray *dcsVal = (AliDCSArray*) arr->At(iFirst++);\r
double tstamp = dcsVal->GetTimeStamp();\r
//\r
- AliLHCDipValD* curValD = new AliLHCDipValD(dim,tstamp); // start new period\r
+ AliLHCDipValF* curValD = new AliLHCDipValF(dim,tstamp); // start new period\r
double vcheck = ExtractDouble(dcsVal,0); // value\r
if (TMath::Abs(vcheck) > maxAbsVal) {\r
AliError(Form("ANOMALOUS VALUE %e for slot %d of %s: exceeds %e",vcheck, 0, rec, maxAbsVal));\r
continue;\r
}\r
double* dcsArr = dcsVal->GetDouble();\r
- AliLHCDipValD* curValD = new AliLHCDipValD(nbunch,tstamp);\r
+ AliLHCDipValF* curValD = new AliLHCDipValF(nbunch,tstamp);\r
for (int i=nbunch;i--;) {\r
int ind = inRealSlots ? (*bconf)[i]/10 : i;\r
if (ind>nSlots) {\r
arrE=GetDCSEntry(recErr,iFirstE,iLastE,fTMin,fTMax);\r
dim += 1;\r
}\r
- AliLHCDipValD* curValD = new AliLHCDipValD(dim,tstamp);\r
+ AliLHCDipValF* curValD = new AliLHCDipValF(dim,tstamp);\r
int cnt = 0;\r
for (int i=0;i<nbunch;i++) {\r
int slot = (*bconf)[i];\r
//\r
for (int irec=0;irec<nrec;irec++) {\r
//\r
- AliLHCDipValD* rInt = GetIntensityPerBunch(beamID,irec);\r
+ AliLHCDipValD* rIntD = 0;\r
+ AliLHCDipValF* rIntF = GetIntensityPerBunch(beamID,irec);\r
+ // for BWD compatibility of some periods\r
+ if (rIntF->IsA() == AliLHCDipValD::Class()) {rIntD=(AliLHCDipValD*)rIntF; rIntF=0;}\r
for (int ib=0;ib<nb;ib++) {\r
- double val = rInt->GetValue(ib);\r
+ double val = rIntF ? rIntF->GetValue(ib) : rIntD->GetValue(ib);\r
if (val<0) continue;\r
int bID = conf->GetValue(ib);\r
// check if this is a triggered bunch\r
Int_t GetNCollimatorJawPos(int coll,int jaw) const;\r
//\r
AliLHCDipValI* GetBunchConfigMeasured(int bm, int i=0) const;\r
- AliLHCDipValD* GetBunchLengths(int bm, int i=0) const;\r
+ AliLHCDipValF* GetBunchLengths(int bm, int i=0) const;\r
AliLHCDipValI* GetBunchConfigDeclared(int bm, int i=0) const;\r
- AliLHCDipValD* GetTotalIntensity(int bm, int i=0) const;\r
- AliLHCDipValD* GetTotalIntensityAv(int bm, int i=0) const;\r
- AliLHCDipValD* GetIntensityPerBunch(int bm, int i=0) const;\r
- AliLHCDipValD* GetEmittanceH(int bm, int i=0) const;\r
- AliLHCDipValD* GetEmittanceV(int bm, int i=0) const;\r
- AliLHCDipValD* GetBeamSigmaH(int bm, int i=0) const;\r
- AliLHCDipValD* GetBeamSigmaV(int bm, int i=0) const;\r
- AliLHCDipValD* GetLuminosityTotal(int lr, int i=0) const;\r
- AliLHCDipValD* GetLuminosityPerBunch(int lr, int i=0) const;\r
+ AliLHCDipValF* GetTotalIntensity(int bm, int i=0) const;\r
+ AliLHCDipValF* GetTotalIntensityAv(int bm, int i=0) const;\r
+ AliLHCDipValF* GetIntensityPerBunch(int bm, int i=0) const;\r
+ AliLHCDipValF* GetEmittanceH(int bm, int i=0) const;\r
+ AliLHCDipValF* GetEmittanceV(int bm, int i=0) const;\r
+ AliLHCDipValF* GetBeamSigmaH(int bm, int i=0) const;\r
+ AliLHCDipValF* GetBeamSigmaV(int bm, int i=0) const;\r
+ AliLHCDipValF* GetLuminosityTotal(int lr, int i=0) const;\r
+ AliLHCDipValF* GetLuminosityPerBunch(int lr, int i=0) const;\r
AliLHCDipValI* GetLuminosityAcqMode(int lr, int i=0) const;\r
- AliLHCDipValD* GetCrossAngle(int lr, int i=0) const;\r
+ AliLHCDipValF* GetCrossAngle(int lr, int i=0) const;\r
AliLHCDipValC* GetInjectionScheme(int i=0) const;\r
- AliLHCDipValD* GetRCBetaStar(int i=0) const;\r
- AliLHCDipValD* GetRCAngleH(int i=0) const; \r
- AliLHCDipValD* GetRCAngleV(int i=0) const; \r
- AliLHCDipValD* GetCollimJawPos(int coll, int jaw, int i=0) const;\r
+ AliLHCDipValF* GetRCBetaStar(int i=0) const;\r
+ AliLHCDipValF* GetRCAngleH(int i=0) const; \r
+ AliLHCDipValF* GetRCAngleV(int i=0) const; \r
+ AliLHCDipValF* GetCollimJawPos(int coll, int jaw, int i=0) const;\r
//\r
void FlagInteractingBunches(const Int_t beam1[2],const Int_t beam2[2]);\r
TObject* FindRecValidFor(int start,int nrec, double tstamp) const;\r
return (GoodPairID(bm) && i>=0 && i<fBunchConfMeas[bm][kNStor]) ? (AliLHCDipValI*)fData[fBunchConfMeas[bm][kStart]+i]:0;\r
}\r
\r
-inline AliLHCDipValD* AliLHCData::GetBunchLengths(int bm, int i) const { // get record\r
- return (GoodPairID(bm) && i>=0 && i<fBunchLengths[bm][kNStor]) ? (AliLHCDipValD*)fData[fBunchLengths[bm][kStart]+i]:0;\r
+inline AliLHCDipValF* AliLHCData::GetBunchLengths(int bm, int i) const { // get record\r
+ return (GoodPairID(bm) && i>=0 && i<fBunchLengths[bm][kNStor]) ? (AliLHCDipValF*)fData[fBunchLengths[bm][kStart]+i]:0;\r
}\r
\r
inline AliLHCDipValI* AliLHCData::GetBunchConfigDeclared(int bm, int i) const { // get record\r
return (GoodPairID(bm) && i>=0 && i<fBunchConfDecl[bm][kNStor]) ? (AliLHCDipValI*)fData[fBunchConfDecl[bm][kStart]+i]:0;\r
}\r
\r
-inline AliLHCDipValD* AliLHCData::GetTotalIntensity(int bm, int i) const { // get record\r
- return (GoodPairID(bm) && i>=0 && i<fIntensTotal[bm][kNStor]) ? (AliLHCDipValD*)fData[fIntensTotal[bm][kStart]+i]:0;\r
+inline AliLHCDipValF* AliLHCData::GetTotalIntensity(int bm, int i) const { // get record\r
+ return (GoodPairID(bm) && i>=0 && i<fIntensTotal[bm][kNStor]) ? (AliLHCDipValF*)fData[fIntensTotal[bm][kStart]+i]:0;\r
}\r
\r
-inline AliLHCDipValD* AliLHCData::GetTotalIntensityAv(int bm, int i) const { // get record\r
- return (GoodPairID(bm) && i>=0 && i<fIntensTotalAv[bm][kNStor]) ? (AliLHCDipValD*)fData[fIntensTotalAv[bm][kStart]+i]:0;\r
+inline AliLHCDipValF* AliLHCData::GetTotalIntensityAv(int bm, int i) const { // get record\r
+ return (GoodPairID(bm) && i>=0 && i<fIntensTotalAv[bm][kNStor]) ? (AliLHCDipValF*)fData[fIntensTotalAv[bm][kStart]+i]:0;\r
}\r
\r
-inline AliLHCDipValD* AliLHCData::GetIntensityPerBunch(int bm, int i) const { // get record\r
- return (GoodPairID(bm) && i>=0 && i<fIntensPerBunch[bm][kNStor]) ? (AliLHCDipValD*)fData[fIntensPerBunch[bm][kStart]+i]:0;\r
+inline AliLHCDipValF* AliLHCData::GetIntensityPerBunch(int bm, int i) const { // get record\r
+ return (GoodPairID(bm) && i>=0 && i<fIntensPerBunch[bm][kNStor]) ? (AliLHCDipValF*)fData[fIntensPerBunch[bm][kStart]+i]:0;\r
}\r
\r
-inline AliLHCDipValD* AliLHCData::GetEmittanceH(int bm, int i) const { // get record\r
- return (GoodPairID(bm) && i>=0 && i<fEmittanceH[bm][kNStor]) ? (AliLHCDipValD*)fData[fEmittanceH[bm][kStart]+i]:0;\r
+inline AliLHCDipValF* AliLHCData::GetEmittanceH(int bm, int i) const { // get record\r
+ return (GoodPairID(bm) && i>=0 && i<fEmittanceH[bm][kNStor]) ? (AliLHCDipValF*)fData[fEmittanceH[bm][kStart]+i]:0;\r
}\r
\r
-inline AliLHCDipValD* AliLHCData::GetEmittanceV(int bm, int i) const { // get record\r
- return (GoodPairID(bm) && i>=0 && i<fEmittanceV[bm][kNStor]) ? (AliLHCDipValD*)fData[fEmittanceV[bm][kStart]+i]:0;\r
+inline AliLHCDipValF* AliLHCData::GetEmittanceV(int bm, int i) const { // get record\r
+ return (GoodPairID(bm) && i>=0 && i<fEmittanceV[bm][kNStor]) ? (AliLHCDipValF*)fData[fEmittanceV[bm][kStart]+i]:0;\r
}\r
\r
-inline AliLHCDipValD* AliLHCData::GetBeamSigmaH(int bm, int i) const { // get record\r
- return (GoodPairID(bm) && i>=0 && i<fBeamSigmaH[bm][kNStor]) ? (AliLHCDipValD*)fData[fBeamSigmaH[bm][kStart]+i]:0;\r
+inline AliLHCDipValF* AliLHCData::GetBeamSigmaH(int bm, int i) const { // get record\r
+ return (GoodPairID(bm) && i>=0 && i<fBeamSigmaH[bm][kNStor]) ? (AliLHCDipValF*)fData[fBeamSigmaH[bm][kStart]+i]:0;\r
}\r
\r
-inline AliLHCDipValD* AliLHCData::GetBeamSigmaV(int bm, int i) const { // get record\r
- return (GoodPairID(bm) && i>=0 && i<fBeamSigmaV[bm][kNStor]) ? (AliLHCDipValD*)fData[fBeamSigmaV[bm][kStart]+i]:0;\r
+inline AliLHCDipValF* AliLHCData::GetBeamSigmaV(int bm, int i) const { // get record\r
+ return (GoodPairID(bm) && i>=0 && i<fBeamSigmaV[bm][kNStor]) ? (AliLHCDipValF*)fData[fBeamSigmaV[bm][kStart]+i]:0;\r
}\r
\r
-inline AliLHCDipValD* AliLHCData::GetLuminosityTotal(int lr, int i) const { // get record\r
- return (GoodPairID(lr) && i>=0 && i<fLuminTotal[lr][kNStor]) ? (AliLHCDipValD*)fData[fLuminTotal[lr][kStart]+i]:0;\r
+inline AliLHCDipValF* AliLHCData::GetLuminosityTotal(int lr, int i) const { // get record\r
+ return (GoodPairID(lr) && i>=0 && i<fLuminTotal[lr][kNStor]) ? (AliLHCDipValF*)fData[fLuminTotal[lr][kStart]+i]:0;\r
}\r
\r
-inline AliLHCDipValD* AliLHCData::GetLuminosityPerBunch(int lr, int i) const { // get record\r
- return (GoodPairID(lr) && i>=0 && i<fLuminPerBC[lr][kNStor]) ? (AliLHCDipValD*)fData[fLuminPerBC[lr][kStart]+i]:0;\r
+inline AliLHCDipValF* AliLHCData::GetLuminosityPerBunch(int lr, int i) const { // get record\r
+ return (GoodPairID(lr) && i>=0 && i<fLuminPerBC[lr][kNStor]) ? (AliLHCDipValF*)fData[fLuminPerBC[lr][kStart]+i]:0;\r
}\r
\r
inline AliLHCDipValI* AliLHCData::GetLuminosityAcqMode(int lr, int i) const { // get record\r
return (GoodPairID(lr) && i>=0 && i<fLuminAcqMode[lr][kNStor]) ? (AliLHCDipValI*)fData[fLuminAcqMode[lr][kStart]+i]:0;\r
}\r
\r
-inline AliLHCDipValD* AliLHCData::GetCrossAngle(int lr, int i) const { // get record\r
- return (GoodPairID(lr) && i>=0 && i<fCrossAngle[lr][kNStor]) ? (AliLHCDipValD*)fData[fCrossAngle[lr][kStart]+i]:0;\r
+inline AliLHCDipValF* AliLHCData::GetCrossAngle(int lr, int i) const { // get record\r
+ return (GoodPairID(lr) && i>=0 && i<fCrossAngle[lr][kNStor]) ? (AliLHCDipValF*)fData[fCrossAngle[lr][kStart]+i]:0;\r
}\r
\r
inline AliLHCDipValC* AliLHCData::GetInjectionScheme(int i) const { // get record\r
return (i>=0 && i<fRCInjScheme[kNStor]) ? (AliLHCDipValC*)fData[fRCInjScheme[kStart]+i]:0;\r
}\r
\r
-inline AliLHCDipValD* AliLHCData::GetRCBetaStar(int i) const { // get record\r
- return (i>=0 && i<fRCBeta[kNStor]) ? (AliLHCDipValD*)fData[fRCBeta[kStart]+i]:0;\r
+inline AliLHCDipValF* AliLHCData::GetRCBetaStar(int i) const { // get record\r
+ return (i>=0 && i<fRCBeta[kNStor]) ? (AliLHCDipValF*)fData[fRCBeta[kStart]+i]:0;\r
}\r
\r
-inline AliLHCDipValD* AliLHCData::GetRCAngleH(int i) const { // get record\r
- return (i>=0 && i<fRCAngH[kNStor]) ? (AliLHCDipValD*)fData[fRCAngH[kStart]+i]:0;\r
+inline AliLHCDipValF* AliLHCData::GetRCAngleH(int i) const { // get record\r
+ return (i>=0 && i<fRCAngH[kNStor]) ? (AliLHCDipValF*)fData[fRCAngH[kStart]+i]:0;\r
}\r
\r
-inline AliLHCDipValD* AliLHCData::GetRCAngleV(int i) const { // get record\r
- return (i>=0 && i<fRCAngV[kNStor]) ? (AliLHCDipValD*)fData[fRCAngV[kStart]+i]:0;\r
+inline AliLHCDipValF* AliLHCData::GetRCAngleV(int i) const { // get record\r
+ return (i>=0 && i<fRCAngV[kNStor]) ? (AliLHCDipValF*)fData[fRCAngV[kStart]+i]:0;\r
}\r
\r
-inline AliLHCDipValD* AliLHCData::GetCollimJawPos(int coll, int jaw, int i) const { // get record\r
+inline AliLHCDipValF* AliLHCData::GetCollimJawPos(int coll, int jaw, int i) const { // get record\r
return (coll>=0 && coll<kNCollimators && jaw>=0 && jaw<kNJaws && \r
- i>=0 && i<fCollimators[coll][jaw][kNStor]) ? (AliLHCDipValD*)fData[fCollimators[coll][jaw][kStart]+i]:0;\r
+ i>=0 && i<fCollimators[coll][jaw][kNStor]) ? (AliLHCDipValF*)fData[fCollimators[coll][jaw][kStart]+i]:0;\r
}\r
\r
\r
AliLHCDipValT(const AliLHCDipValT<Element> &src);
virtual ~AliLHCDipValT() {delete[] fArray;}
AliLHCDipValT& operator=(const AliLHCDipValT<Element> &src);
- Element& operator[](Int_t i);
- Element operator[](Int_t i) const;
+ virtual Element& operator[](Int_t i);
+ virtual Element operator[](Int_t i) const;
//
- void SetSize(Int_t size);
- void SetValue(Int_t i,Element v);
- void SetValues(const Element *v, Int_t n);
+ virtual void SetSize(Int_t size);
+ virtual void SetValue(Int_t i,Element v);
+ virtual void SetValues(const Element *v, Int_t n);
void SetTimeStamp(Double_t v) {fTimeStamp = v;}
//
Int_t GetSizeTotal() const {return fSizeTot;}
- Element GetValue(Int_t i=0) const;
- Element* GetValues() const {return (Element*)fArray;}
+ virtual Element GetValue(Int_t i=0) const;
+ virtual Element* GetValues() const {return (Element*)fArray;}
Double_t GetTimeStamp() const {return fTimeStamp;}
Char_t* GetTimeAsString(Bool_t utc=kTRUE) const {return TimeAsString(fTimeStamp,utc);}
//
AliError(Form("Index %d is out of range 0:%d",i,GetSizeTotal()-1));
return fArray[0];
}
- return fArray[i];
+ return (Element&)fArray[i];
}
//__________________________________________________________________________
AliError(Form("Index %d is out of range 0:%d",i,GetSizeTotal()-1));
return 0;
}
- return fArray[i];
+ return (Element)fArray[i];
}
//__________________________________________________________________________
AliError(Form("Index %d is out of range 0:%d",i,GetSizeTotal()-1));
return 0;
}
- return fArray[i];
+ return (Element)fArray[i];
}
//__________________________________________________________________________
}
}
- else if (tp == typeid(Double_t*).name() || tp == typeid(Float_t*).name()) printf(" %+.3e |",(Float_t)fArray[i]);
+ else if (tp == typeid(Double_t*).name() || tp == typeid(Float_t*).name()) printf(" %+.3e |",(Double_t)fArray[i]);
else printf(" ");
eolOK = kFALSE;
if ( (i+1)%5 == 0) {printf("\n"); eolOK = kTRUE;}
}
if (IsLastSpecial()) {
if (sz>1 && !eolOK) {printf("\n"); eolOK = kTRUE;}
- if (tp == typeid(Double_t*).name() || tp == typeid(Float_t*).name()) {
- printf(" Error: %+e\n",(Float_t)fArray[sz]);
+ if (tp == typeid(Double_t*).name() || tp == typeid(Double_t*).name()) {
+ printf(" Error: %+e\n",(Double_t)fArray[sz]);
eolOK = kTRUE;
}
}