Hall-D Software  alpha
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
combinedResidFunc.h
Go to the documentation of this file.
1 #ifndef _COMBINEDRESIDFUNC_H_
2 #define _COMBINEDRESIDFUNC_H_
3 
4 #define PIOVER2 1.570796327
5 #define PIOVER4 0.785398163
6 #include "FDC/DFDCPseudo.h"
7 #include "CDC/DCDCTrackHit.h"
8 #include "hitDetails.h"
9 #include "MyTrajectory.h"
10 #include "residCDC.h"
11 #include "residFDC.h"
12 
13 #define BIG_DOUBLE 1.0e12
14 #define DRIFT_VELOCITY 55e-4
15 
17  public:
18  combinedResidFunc(vector<const DFDCPseudo*> *pseudopoints,
19  vector<const DCDCTrackHit*> *trackhits,
20  MyTrajectory *trajectory, const DLorentzDeflections *lorentz_def,
21  int level = 1);
22  void resid(const HepVector *x, void *data, HepVector *f);
23  void deriv(const HepVector *x, void *data, HepMatrix *J);
24  void residAndDeriv(const HepVector *x, void *data, HepVector *f,
25  HepMatrix *J);
26  inline unsigned int getN() {return n_fdc + n_cdc;};
27  inline unsigned int getP() {return trajPtr->getNumberOfParams();};
28  void setStoreDetails(bool storeDetailsValue);
29  void clearDetails();
30  inline vector<CDCHitDetails*> *getCDCDetails(){return &CDCDetails;};
31  inline vector<FDCHitDetails*> *getFDCDetails(){return &FDCDetails;};
32  void setInnerResidFrac(double innerResidFracIn);
33  void getResidsBoth(vector<double> &residsBoth);
34  // void deriv2(const HepVector *params, HepMatrix &Jacobian);
35  private:
36  unsigned int n_fdc, n_cdc;
37  vector<const DFDCPseudo*> *ppPtr;
38  vector<const DCDCTrackHit*> *trkhitPtr;
40  HepVector pseudo2HepVector(const DFDCPseudo &pseudopoint);
41  DLine trackhit2line(const DCDCTrackHit &trackhit);
42  vector<double> delta;
44  bool getCorrectionSign(const DFDCPseudo &pseudopoint, double x, double y, double deltaX, double deltaY);
45  void getCorrectionValue(const DFDCPseudo &pseudopoint, double x, double y, double z, double t, double &delta_x, double &delta_y);
48  FDCHitDetails getDetails(const DFDCPseudo *ppoint, HepVector point);
49  vector<FDCHitDetails*> FDCDetails;
50  CDCHitDetails getDetails(const DCDCTrackHit *trackhit, DLine line);
51  vector<CDCHitDetails*> CDCDetails;
55 };
56 
57 #endif // _COMBINEDRESIDFUNC_H_
58 
59 // end of C++ source
vector< FDCHitDetails * > FDCDetails
vector< const DFDCPseudo * > * ppPtr
Double_t x[NCHANNELS]
Definition: st_tw_resols.C:39
#define y
class DFDCPseudo: definition for a reconstructed point in the FDC
Definition: DFDCPseudo.h:74
unsigned int getP()
void setStoreDetails(bool storeDetailsValue)
bool getCorrectionSign(const DFDCPseudo &pseudopoint, double x, double y, double deltaX, double deltaY)
TF1 * f
Definition: FitGains.C:21
void getCorrectionValue(const DFDCPseudo &pseudopoint, double x, double y, double z, double t, double &delta_x, double &delta_y)
Definition: DLine.h:8
void getResidsBoth(vector< double > &residsBoth)
vector< double > delta
void deriv(const HepVector *x, void *data, HepMatrix *J)
DLine trackhit2line(const DCDCTrackHit &trackhit)
vector< CDCHitDetails * > CDCDetails
vector< const DCDCTrackHit * > * trkhitPtr
void residAndDeriv(const HepVector *x, void *data, HepVector *f, HepMatrix *J)
virtual unsigned int getNumberOfParams()
Definition: MyTrajectory.cc:21
void resid(const HepVector *x, void *data, HepVector *f)
void setInnerResidFrac(double innerResidFracIn)
vector< CDCHitDetails * > * getCDCDetails()
vector< FDCHitDetails * > * getFDCDetails()
HepVector pseudo2HepVector(const DFDCPseudo &pseudopoint)
FDCHitDetails getDetails(const DFDCPseudo *ppoint, HepVector point)
const DLorentzDeflections * lorentz_def
combinedResidFunc(vector< const DFDCPseudo * > *pseudopoints, vector< const DCDCTrackHit * > *trackhits, MyTrajectory *trajectory, const DLorentzDeflections *lorentz_def, int level=1)
unsigned int getN()
MyTrajectory * trajPtr