Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

TrkExchangeData Class Reference

#include <TrkExchangeData.h>

List of all members.

Public Member Functions

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

Static Private Member Functions

const ComPackBase< double > & paramPacker (int)
const ComPackBase< double > & paramPacker (int)

Private Attributes

d_UShort _params [TrkExchangePar::nParam]

Static Private Attributes

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

Friends

class TrkExchangeDataK


Constructor & Destructor Documentation

TrkExchangeData::TrkExchangeData  ) 
 

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

TrkExchangeData::TrkExchangeData const TrkExchangePar  ) 
 

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  ) 
 

00093                                                             {
00094   *this = other;
00095 }

TrkExchangeData::~TrkExchangeData  ) 
 

00106 {}

TrkExchangeData::TrkExchangeData  ) 
 

TrkExchangeData::TrkExchangeData const TrkExchangePar  ) 
 

TrkExchangeData::TrkExchangeData const TrkExchangeData  ) 
 

TrkExchangeData::~TrkExchangeData  ) 
 


Member Function Documentation

TrkExchangePar* TrkExchangeData::exchange  )  const
 

TrkExchangePar * TrkExchangeData::exchange  )  const
 

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  ) 
 

TrkExchangeData & TrkExchangeData::operator= const TrkExchangeData  ) 
 

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]
 

00045                                                {
00046     return _params[index]; }

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

00045                                                {
00046     return _params[index]; }

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

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

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

TrkExchangeDataK [friend]
 


Member Data Documentation

const ComPackSignedExpFloat TrkExchangeData::_packd0 [static, private]
 

const ComPackFlatFloat TrkExchangeData::_packlambda [static, private]
 

const ComPackSignedExpFloat TrkExchangeData::_packomega [static, private]
 

const ComPackFlatFloat TrkExchangeData::_packphi0 [static, private]
 

const ComPackSignedExpFloat TrkExchangeData::_packz0 [static, private]
 

d_UShort TrkExchangeData::_params [private]
 


The documentation for this class was generated from the following files:
Generated on Wed Feb 2 19:06:49 2011 for BOSS6.5.5 by  doxygen 1.3.9.1