HYDRA_development_version
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
hrpcchargeoffsetpar.h
Go to the documentation of this file.
1 #ifndef HRPCCHARGEOFFSETPAR_H
2 #define HRPCCHARGEOFFSETPAR_H
3 #include "TArrayF.h"
4 #include "hparcond.h"
5 
6 class HParamList;
7 
8 class HRpcChargeOffsetPar : public HParCond {
9 
10 protected:
11 
12  TArrayI fRunIDs; // Array with Beggining-End of RunId slots. Last stores the last RunID
13  TArrayF fChargeCorrPar; // Array with Correction pars.
14  //Int_t fFirstRunID; // First RunId ...I can reduced to a get Function
15  //Int_t fLastRunID; // Value of the last run ID in the set
16  Int_t fCurrent; // Current set of correction parameters; Starts from 0 up to fNRuns-1
17  Int_t fNRuns; // number of sets of parameters
18 
19 
20 public:
21  HRpcChargeOffsetPar(const Char_t* name ="RpcChargeOffsetPar",
22  const Char_t* title ="Correction of RPC charge offsets",
23  const Char_t* context="RpcChargeOffsetParProduction");
25 
26  void addNewSet(Float_t* pars, Int_t startRunID);// {fChargeCorrPar.Set((fCurrent+2)*6*64); fRunIDs.Set(fCurrent+2); fCurrent = +1; for(Int_t i = 0; i < 64*6 ; i++) fChargeCorrPar.AddAt(pars[i], fCurrent*64*6); fRunIDs.AddAt(startRunID,fCurrent);fNRuns++; }
27  void addFirstSet(Float_t* pars, Int_t startRunID);// {fChargeCorrPar.Set((fCurrent+2)*6*64); fRunIDs.Set(fCurrent+2); fCurrent = +1; for(Int_t i = 0; i < 64*6 ; i++) fChargeCorrPar.AddAt(pars[i], fCurrent*64*6); fRunIDs.AddAt(startRunID,fCurrent);fNRuns++; }
28  void addLastSet(Float_t* pars, Int_t startRunID,Int_t endRunID);//
29  void addLastRunId(Int_t runId);
30  Float_t getPar(Int_t sec, Int_t TRB, Int_t MBO, Int_t DBO) const { return fChargeCorrPar[fCurrent*64*6 + sec*64 + MBO*16 + TRB*4 + DBO/2]; }
31  Float_t getPar(Int_t regNum) const { return fChargeCorrPar[fCurrent*64*6 + regNum]; }
32  //Float_t* getPars(Int_t runID); //return the array with parameters for a certain runID
33  Int_t getFirstRunID() const { return fRunIDs[0]; }
34  Int_t getLastRunID() const { return fRunIDs[fNRuns]; }
35  Int_t getNextRunID() const { return fRunIDs[fCurrent+1]; }
36  Int_t getCurrentSet() { return fCurrent; }
37  Int_t getNSets() { return fNRuns; }
38 
39  //void setPar(Int_t sec, Int_t col, Int_t cell, Int_t npar, Float_t par) { fChargeCorrPar[ sec*2880 + col*480 + cell*15 + npar ] = par; }
40  void setPars(Int_t nrun, Float_t* pars, Int_t startRunID) { for(Int_t i = 0; i < 64*6 ; i++) fChargeCorrPar.AddAt(pars[i], nrun*64*6); fRunIDs.AddAt(startRunID, nrun); }
41  Bool_t init(HParIo* inp, Int_t* set);
42  //Bool_t init(HParIo* inp);
43  void putParams(HParamList*);
44  Bool_t getParams(HParamList*);
45  Int_t getSlot(Int_t runId);
46  void clear();
47 
48  ClassDef(HRpcChargeOffsetPar,1) // Container for the RPC hit finder parameters
49 };
50 #endif /*!HRPCCHARGEOFFSETPAR_H*/
HRpcChargeOffsetPar(const Char_t *name="RpcChargeOffsetPar", const Char_t *title="Correction of RPC charge offsets", const Char_t *context="RpcChargeOffsetParProduction")
Float_t getPar(Int_t sec, Int_t TRB, Int_t MBO, Int_t DBO) const
void putParams(HParamList *)
void addLastSet(Float_t *pars, Int_t startRunID, Int_t endRunID)
Definition: hpario.h:11
void addFirstSet(Float_t *pars, Int_t startRunID)
void addLastRunId(Int_t runId)
Int_t getNextRunID() const
void setPars(Int_t nrun, Float_t *pars, Int_t startRunID)
Int_t getSlot(Int_t runId)
Int_t getFirstRunID() const
Bool_t getParams(HParamList *)
void addNewSet(Float_t *pars, Int_t startRunID)
Int_t getLastRunID() const
Float_t getPar(Int_t regNum) const
virtual Bool_t init(void)
Definition: hparset.h:21