X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;ds=sidebyside;f=TRD%2FAliTRDtrapConfigHandler.h;h=0e485e3fcf9f7c29fbd8aefd5611c182639e31c3;hb=a7959df53c07a4d5179b2cb35abbed5537f70cec;hp=84af956e26fbe57ca448748236876a4dbfae4ae0;hpb=759042e7a9e433ea88acaf33e27d54d7d18d77b1;p=u%2Fmrichter%2FAliRoot.git diff --git a/TRD/AliTRDtrapConfigHandler.h b/TRD/AliTRDtrapConfigHandler.h index 84af956e26f..0e485e3fcf9 100644 --- a/TRD/AliTRDtrapConfigHandler.h +++ b/TRD/AliTRDtrapConfigHandler.h @@ -12,17 +12,19 @@ #include #include "AliTRDltuParam.h" - -class AliTRDtrapConfig; +#include "AliTRDCalOnlineGainTable.h" +#include "AliTRDtrapConfig.h" class AliTRDtrapConfigHandler : public TObject { public: - AliTRDtrapConfigHandler(); + AliTRDtrapConfigHandler(AliTRDtrapConfig *cfg); virtual ~AliTRDtrapConfigHandler(); + void Init(); // Set DMEM allocation modes void ResetMCMs(); // Reset all trap registers and DMEM of the MCMs Int_t LoadConfig(); // load a default configuration suitable for simulation Int_t LoadConfig(TString filename); // load a TRAP configuration from a file + Int_t SetGaintable(AliTRDCalOnlineGainTable const >bl); // Set a gain table to correct Q0 and Q1 for PID void ProcessLTUparam(Int_t dest, Int_t addr, UInt_t data); // Process the LTU parameters void PrintGeoTest(); // Prints some information about the geometry. Only for debugging @@ -31,12 +33,14 @@ class AliTRDtrapConfigHandler : public TObject { // Int_t poke(Int_t rob, Int_t mcm, Int_t addr, UInt_t value); // not implemented yet private: + Bool_t AddValues(UInt_t det, UInt_t cmd, UInt_t extali, Int_t addr, UInt_t data); + void ConfigureDyCorr(Int_t det); // deflection length correction due to Lorentz angle and tilted pad correction void ConfigureDRange(Int_t det); // deflection range LUT, range calculated according to B-field (in T) and pt_min (in GeV/c) void ConfigureNTimebins(Int_t det); // timebins in the drift region void ConfigurePIDcorr(Int_t det); // Calculate the mcm individual correction factors for the PID - Double_t Square(Double_t val) { return val*val; }; // returns the square of a given number + Double_t Square(Double_t val) const { return val*val; }; // returns the square of a given number AliTRDtrapConfigHandler(const AliTRDtrapConfigHandler &h); // not implemented AliTRDtrapConfigHandler &operator=(const AliTRDtrapConfigHandler &h); // not implemented @@ -62,10 +66,16 @@ class AliTRDtrapConfigHandler : public TObject { static const Int_t fgkPadsPerMCM = 18; // readout pads per MCM static const Int_t fgkMCMperROBRow = 4; // MCMs per ROB row + static const Int_t fgkMaxLinkPairs=4; // number of linkpairs used during configuration + static const Int_t fgkMcmlistSize=256; // list of MCMs to which a value has to be written + AliTRDltuParam ltuParam; // ltuParam class for the actual calculation of the parameters UInt_t fRestrictiveMask; // mask to restrict subsequent commands to specified chambers + AliTRDtrapConfig *fTrapConfig; // pointer to TRAP config in use + AliTRDCalOnlineGainTable fGtbl; // gain table + ClassDef(AliTRDtrapConfigHandler,0) };