--- DarthVader/TrackerLevel2/inc/TrkParams.h 2007/05/14 11:03:04 1.5 +++ DarthVader/TrackerLevel2/inc/TrkParams.h 2008/10/22 15:17:33 1.16 @@ -9,12 +9,14 @@ #include #include #include +#include // EMILIANO: needed to compile with ROOT > 5.16/x #include #include #include #define NTYPES 10 +#define NGF 14 /** * \brief Class to store tracker parameter information @@ -37,8 +39,7 @@ * 7 default calibration * * Internal parameters are initialized to default values - * (NB!! the same values set in analisysflight.f). - * +* * TrkParams::SetCalib(...) and TrkParams::Set(...) methods allow to set * required parameters, from an input path, from the DB (for a given input * run id) and from environment variable PAM_CALIB. @@ -73,6 +74,8 @@ static TString calibpathf; //full static Bool_t calib104; static Bool_t calibload; + static TrkCalib* calib1; + static TrkCalib* calib2; // --------------------------------------------- // variables to store loaded-parameters info // --------------------------------------------- @@ -87,9 +90,26 @@ static int init__mini_trackmode; static int init__mini_istepmin; static double init__mini_fact; - + static cDbg init__dbg_mode; //debug mode (for both c++ and F77 roiutines) + static float init__pfa_e234ax[6]; // angle intervals for eta2-3-4 + static float init__pfa_e234ay[6]; // angle intervals for eta2-3-4 + static double init__deltab_0; + static double init__deltab_1; + static double init__dlt; + + // ------------------------------------------ + // nominal z-coordinates to define acceptance + // ------------------------------------------ + static int nGF; + static float zGF[NGF]; + static float xGF_min[NGF]; + static float xGF_max[NGF]; + static float yGF_min[NGF]; + static float yGF_max[NGF]; + static TString GF_element[NGF]; + TrkParams(); - + // --------------------------------------------- // calibration (PED-SIG-BAD) // --------------------------------------------- @@ -97,8 +117,8 @@ static Bool_t LoadCalib( ); static Bool_t CalibIsLoaded(){ return calibload; }; static UInt_t ValidateTrkCalib( CalibTrk1Event* ); - static void FillFCalibFrom(TFile* , Int_t , Int_t );//full - static void FillTCalibFrom(TFile* , Int_t , Int_t );//truncated +// static void FillFCalibFrom(TFile* , Int_t , Int_t );//full +// static void FillTCalibFrom(TFile* , Int_t , Int_t );//truncated static void FillTCalibFrom(TString path); static void FillACalibFrom(TFile* , Int_t , Int_t );//all static void FillMask(TFile* , Int_t , Int_t ); @@ -120,24 +140,39 @@ static Bool_t IsLoaded( UInt_t type ){return glload[TrkParams::GetIndex(type)];}; static Bool_t IsLoaded( ); + static GL_PARAM GetParams( UInt_t type ){ return gl[TrkParams::GetIndex(type)]; }; + // --------------------------------------------- // retrieve parameters // --------------------------------------------- static float GetBX(float*); static float GetBY(float*); static float GetBZ(float*); + static float GetResolution(int,float); + static int GetPFA(){return sw_.pfaid;}; + static int GetPFA_NbinsAngle(); + static int GetPFA_NbinsETA(); + static int GetPFA_NbinsCharge(){return 0;}; + static int GetPFA_AngleBin(float); + static float* GetPFA_ETAcorr(TString,int,int,int); + static float* GetPFA_ETAabs(TString,int); + static float GetPFA_ETAlandi(int,int,int); + static float GetPFA_ETAlandi(int nv,int nl,float ang) + { return TrkParams::GetPFA_ETAlandi(nv,nl,TrkParams::GetPFA_AngleBin(ang)); }; + + // --------------------------------------------- // debug mode // --------------------------------------------- - static cDbg dbg_mode; //debug mode (for both c++ and F77 roiutines) - static void SetDebugMode() {dbg_mode.SetDebug(); dbg_=dbg_mode;}; - static void SetVerboseMode(){dbg_mode.SetVerbose(); dbg_=dbg_mode;}; - static void SetWarningMode(){dbg_mode.SetWarning(); dbg_=dbg_mode;}; - static Bool_t DebugMode(){return dbg_mode.debug;}; - static Bool_t WarningMode(){return dbg_mode.warning;}; - static Bool_t VerboseMode(){return dbg_mode.verbose;}; + static void SetDebugMode() {init__dbg_mode.SetDebug(); dbg_=init__dbg_mode;}; + static void SetVerboseMode(){init__dbg_mode.SetVerbose(); dbg_=init__dbg_mode;}; + static void SetWarningMode(){init__dbg_mode.SetWarning(); dbg_=init__dbg_mode;}; + static void SetQuietMode() {init__dbg_mode.SetNone(); dbg_=init__dbg_mode;}; + static Bool_t DebugMode(){return init__dbg_mode.debug;}; + static Bool_t WarningMode(){return init__dbg_mode.warning;}; + static Bool_t VerboseMode(){return init__dbg_mode.verbose;}; // ------------------------------------------------ // alcuni metodi che non sapevo dove mettere @@ -147,13 +182,33 @@ static void SetTrackingMode() {track_.trackmode = init__mini_trackmode;}; static void SetPrecisionFactor(){track_.fact = init__mini_fact; }; static void SetStepMin() {track_.istepmin = init__mini_istepmin; }; - static void SetPFA() {sw_.pfaid = init__pfa; }; + static void SetDeltaB() {deltab_.delta0 = init__deltab_0; + deltab_.delta1 = init__deltab_1;}; + static void SetDLT() {deltab_.dlt = init__dlt;}; + static void SetMiniDefault() { + SetTrackingMode(); + SetPrecisionFactor(); + SetStepMin(); + SetDeltaB(); + SetDLT(); + }; // + static void SetPFA(); + // set to custom values static void SetTrackingMode(int); static void SetPrecisionFactor(double); static void SetStepMin(int); + static void SetDeltaB(int,double); + static void SetDLT(double); static void SetPFA(int); + static void SetPFA(float *); + // --------------------------------------------- + // varie ed eventuali... + // --------------------------------------------- + static TSQLServer* SetDBConnection(); + + ClassDef(TrkParams,2); };