TrkExchangeData Class Reference

#include <TrkExchangeData.h>

List of all members.

Public Member Functions

 TrkExchangeData ()
 TrkExchangeData (const TrkExchangePar *)
 TrkExchangeData (const TrkExchangeData &)
TrkExchangeDataoperator= (const TrkExchangeData &)
 ~TrkExchangeData ()
TrkExchangeParexchange () const
const d_UShortparameters (int index) const

Static Private Member Functions

static const ComPackBase<
double > & 
paramPacker (int)

Private Attributes

d_UShort _params [TrkExchangePar::nParam]

Static Private Attributes

static const ComPackSignedExpFloat _packd0
static const ComPackSignedExpFloat _packz0
static const ComPackFlatFloat _packphi0
static const ComPackSignedExpFloat _packomega
static const ComPackFlatFloat _packlambda

Friends

class TrkExchangeDataK


Detailed Description

Definition at line 30 of file TrkExchangeData.h.


Constructor & Destructor Documentation

TrkExchangeData::TrkExchangeData (  ) 

Definition at line 57 of file TrkExchangeData.cxx.

References _params, and TrkExchangePar::nParam.

00057                                  {
00058   for(unsigned ipar=0;ipar<TrkExchangePar::nParam;ipar++)
00059     _params[ipar] = 0;
00060 }

TrkExchangeData::TrkExchangeData ( const TrkExchangePar  ) 

Definition at line 62 of file TrkExchangeData.cxx.

References _params, TrkExchangePar::d0(), TrkExchangePar::ex_d0, TrkExchangePar::ex_omega, TrkExchangePar::ex_phi0, TrkExchangePar::ex_tanDip, TrkExchangePar::ex_z0, TrkExchangePar::nParam, TrkExchangePar::omega(), ComPackBase< T >::pack(), paramPacker(), TrkExchangePar::phi0(), ComPackBaseBase::TAG_BAD, TrkExchangePar::tanDip(), and TrkExchangePar::z0().

00062                                                            {
00063 // pack the parameters and the diagonal errors
00064   assert(traj != 0);
00065   for(int ipar=TrkExchangePar::ex_d0;ipar<TrkExchangePar::nParam;ipar++){
00066     unsigned parpack(0);
00067     const ComPackBase<double>& packpar = paramPacker(ipar);
00068 // convert from tandip to dip
00069     double pval(0) ;
00070     switch (ipar) {
00071     case TrkExchangePar::ex_d0:
00072       pval = traj->d0();
00073       break;
00074     case TrkExchangePar::ex_phi0:
00075       pval = traj->phi0();
00076       break;
00077     case TrkExchangePar::ex_omega:
00078       pval = traj->omega();
00079       break;
00080     case TrkExchangePar::ex_z0:
00081       pval = traj->z0();
00082       break;
00083     case TrkExchangePar::ex_tanDip:
00084       pval = atan(traj->tanDip());
00085       break;
00086     }
00087     ComPackBaseBase::StatusCode pcode = packpar.pack(pval,parpack);
00088     assert(pcode !=ComPackBaseBase::TAG_BAD);
00089     _params[ipar] = parpack;
00090   }
00091 }

TrkExchangeData::TrkExchangeData ( const TrkExchangeData  ) 

Definition at line 93 of file TrkExchangeData.cxx.

References EvtCyclic3::other().

00093                                                             {
00094   *this = other;
00095 }

TrkExchangeData::~TrkExchangeData (  ) 

Definition at line 106 of file TrkExchangeData.cxx.

00106 {}


Member Function Documentation

TrkExchangePar * TrkExchangeData::exchange (  )  const

Definition at line 109 of file TrkExchangeData.cxx.

References _params, TrkExchangePar::ex_d0, TrkExchangePar::ex_tanDip, TrkExchangePar::nParam, paramPacker(), ComPackBaseBase::TAG_BAD, tan(), and ComPackBase< T >::unpack().

00109                                 {
00110 // unpack the parameters and the errors
00111   HepVector pvec(5,0);
00112   for(int ipar=TrkExchangePar::ex_d0;ipar<TrkExchangePar::nParam;ipar++){
00113     const ComPackBase<double>& packpar = paramPacker(ipar);
00114     ComPackBaseBase::StatusCode pcode = packpar.unpack(_params[ipar],pvec[ipar]);
00115     assert(pcode != ComPackBaseBase::TAG_BAD );
00116   }
00117 // convert back from dip to tandip
00118   pvec[TrkExchangePar::ex_tanDip] = tan(pvec[TrkExchangePar::ex_tanDip]);
00119   return new TrkExchangePar(pvec);
00120 }

TrkExchangeData & TrkExchangeData::operator= ( const TrkExchangeData  ) 

Definition at line 98 of file TrkExchangeData.cxx.

References _params, TrkExchangePar::ex_d0, TrkExchangePar::nParam, and EvtCyclic3::other().

00098                                                         {
00099   if(this != &other){
00100     for (int ipar=TrkExchangePar::ex_d0;ipar<TrkExchangePar::nParam;ipar++)
00101       _params[ipar] = other._params[ipar];
00102   }
00103   return *this;
00104 }

const d_UShort& TrkExchangeData::parameters ( int  index  )  const [inline]

Definition at line 45 of file TrkExchangeData.h.

References _params.

00045                                                {
00046     return _params[index]; }

const ComPackBase< double > & TrkExchangeData::paramPacker ( int   )  [static, private]

Definition at line 39 of file TrkExchangeData.cxx.

References _packd0, _packlambda, _packomega, _packphi0, _packz0, TrkExchangePar::ex_d0, TrkExchangePar::ex_omega, TrkExchangePar::ex_phi0, TrkExchangePar::ex_tanDip, and TrkExchangePar::ex_z0.

Referenced by exchange(), and TrkExchangeData().

00039                                       {
00040   switch(index) {
00041   case TrkExchangePar::ex_d0:
00042     return _packd0;
00043   case TrkExchangePar::ex_phi0:
00044     return _packphi0;
00045   case TrkExchangePar::ex_omega:
00046     return _packomega;
00047   case TrkExchangePar::ex_z0:
00048     return _packz0;
00049   case TrkExchangePar::ex_tanDip:
00050     return _packlambda;
00051   default:
00052     assert(0);
00053     return _packd0;
00054   }
00055 }


Friends And Related Function Documentation

friend class TrkExchangeDataK [friend]

Definition at line 48 of file TrkExchangeData.h.


Member Data Documentation

const ComPackSignedExpFloat TrkExchangeData::_packd0 [static, private]

Definition at line 54 of file TrkExchangeData.h.

Referenced by paramPacker().

const ComPackFlatFloat TrkExchangeData::_packlambda [static, private]

Definition at line 58 of file TrkExchangeData.h.

Referenced by paramPacker().

const ComPackSignedExpFloat TrkExchangeData::_packomega [static, private]

Definition at line 57 of file TrkExchangeData.h.

Referenced by paramPacker().

const ComPackFlatFloat TrkExchangeData::_packphi0 [static, private]

Definition at line 56 of file TrkExchangeData.h.

Referenced by paramPacker().

const ComPackSignedExpFloat TrkExchangeData::_packz0 [static, private]

Definition at line 55 of file TrkExchangeData.h.

Referenced by paramPacker().

d_UShort TrkExchangeData::_params[TrkExchangePar::nParam] [private]

Definition at line 51 of file TrkExchangeData.h.

Referenced by exchange(), operator=(), parameters(), and TrkExchangeData().


Generated on Tue Nov 29 23:36:13 2016 for BOSS_7.0.2 by  doxygen 1.4.7