/[PAMELA software]/DarthVader/TrackerLevel2/inc/TrkParams.h
ViewVC logotype

Diff of /DarthVader/TrackerLevel2/inc/TrkParams.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.1 by pam-fi, Fri Feb 16 14:56:00 2007 UTC revision 1.5 by pam-fi, Mon May 14 11:03:04 2007 UTC
# Line 19  Line 19 
19  /**  /**
20   * \brief Class to store tracker parameter information   * \brief Class to store tracker parameter information
21   *   *
22     * Tracker parameters include calibration parameters (PED, SIG and BAD),
23     * parameters loaded from DB (alignment, ADC-to-mip, etc. ) and some parameters
24     * to configure tracker processing (PFA, ecc...).
25     *
26     * Calibrations can be either those evaluated online or default values.
27     * External parameter are labelled according to the DB convention:
28     *
29     * type  description
30     * -----------------
31     * 1     field
32     * 2     adc-to-mip
33     * 3     charge-correlation
34     * 4     p.f.a. (eta)
35     * 5     alignment
36     * 6     VA1 mask
37     * 7     default calibration
38     *
39     * Internal parameters are initialized to default values
40     * (NB!! the same values set in analisysflight.f).
41     *
42     * TrkParams::SetCalib(...) and TrkParams::Set(...) methods allow to set
43     * required parameters, from an input path, from the DB (for a given input
44     * run id) and from environment variable PAM_CALIB.
45     * TrkParams::LoadCalib() and TrkParams::Load() methods load parameters into
46     * F77 common.
47     *
48     * Tracker libraries (TrkLevel0, TrkLevel1 and TrkLevel2) implement automatic
49     * setting (either from DB or from environment variables) and loading of parameters.
50     * If one needs to load custom parameters, it is enough to call TrkParams::Set(...)
51     * with proper arguments. All the methods are static, and can be used as standalone functions.
52     *
53     * For example:
54     *
55     * TrkParams::Set("/param-path/new-mip-param/",2);
56     *
57     * After this instruction (to be called once), new adc-to-mip conversion parameters
58     * will be loaded automatically (once) and used until the next set instruction
59   */   */
60  class TrkParams : public TObject {  class TrkParams : public TObject {
61    
# Line 43  public: Line 80  public:
80      static GL_PARAM  gl[NTYPES];      static GL_PARAM  gl[NTYPES];
81      static TString   glpath[NTYPES];      static TString   glpath[NTYPES];
82      static Bool_t    glload[NTYPES];      static Bool_t    glload[NTYPES];
83        // -----------------------------------------------
84        // some parameters to configure tracker processing
85        // -----------------------------------------------
86        static int init__pfa;
87        static int init__mini_trackmode;
88        static int init__mini_istepmin;
89        static double init__mini_fact;
90            
91      TrkParams();      TrkParams();
92            
# Line 52  public: Line 96  public:
96      static Bool_t SetCalib( GL_RUN* , TSQLServer*  );      static Bool_t SetCalib( GL_RUN* , TSQLServer*  );
97      static Bool_t LoadCalib( );      static Bool_t LoadCalib( );
98      static Bool_t CalibIsLoaded(){ return calibload; };      static Bool_t CalibIsLoaded(){ return calibload; };
99        static UInt_t ValidateTrkCalib( CalibTrk1Event* );
100      static void FillFCalibFrom(TFile* , Int_t , Int_t );//full      static void FillFCalibFrom(TFile* , Int_t , Int_t );//full
101      static void FillTCalibFrom(TFile* , Int_t , Int_t );//truncated      static void FillTCalibFrom(TFile* , Int_t , Int_t );//truncated
102      static void FillTCalibFrom(TString path);      static void FillTCalibFrom(TString path);
# Line 75  public: Line 120  public:
120      static Bool_t IsLoaded( UInt_t type ){return glload[TrkParams::GetIndex(type)];};      static Bool_t IsLoaded( UInt_t type ){return glload[TrkParams::GetIndex(type)];};
121      static Bool_t IsLoaded( );      static Bool_t IsLoaded( );
122    
123      ClassDef(TrkParams,1);      // ---------------------------------------------
124        // retrieve parameters
125        // ---------------------------------------------
126        static float GetBX(float*);
127        static float GetBY(float*);
128        static float GetBZ(float*);
129    
130        // ---------------------------------------------
131        // debug mode
132        // ---------------------------------------------
133        static cDbg dbg_mode; //debug mode (for both c++ and F77 roiutines)
134    
135        static void SetDebugMode()  {dbg_mode.SetDebug();   dbg_=dbg_mode;};
136        static void SetVerboseMode(){dbg_mode.SetVerbose(); dbg_=dbg_mode;};
137        static void SetWarningMode(){dbg_mode.SetWarning(); dbg_=dbg_mode;};    
138        static Bool_t DebugMode(){return dbg_mode.debug;};
139        static Bool_t WarningMode(){return dbg_mode.warning;};
140        static Bool_t VerboseMode(){return dbg_mode.verbose;};
141    
142        // ------------------------------------------------
143        // alcuni metodi che non sapevo dove mettere
144        // per inizializzare alcune variabili in F77 common
145        // ------------------------------------------------    
146        // set to default values
147        static void SetTrackingMode()   {track_.trackmode = init__mini_trackmode;};
148        static void SetPrecisionFactor(){track_.fact      = init__mini_fact;     };
149        static void SetStepMin()        {track_.istepmin  = init__mini_istepmin; };
150        static void SetPFA()            {sw_.pfaid        = init__pfa;           };
151        // set to custom values
152        static void SetTrackingMode(int);
153        static void SetPrecisionFactor(double);
154        static void SetStepMin(int);
155        static void SetPFA(int);
156        
157        ClassDef(TrkParams,2);
158    
159  };  };
160    

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.5

  ViewVC Help
Powered by ViewVC 1.1.23