Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | File Members

TrgTrackStreamer.cpp

Go to the documentation of this file.
00001 #include "TrgConverter/TrgTrackStreamer.h"
00002 
00003 std::ostream& str::trgTrack(const TrgTrack& gtrack, std::ostream& os) {
00004   
00005   os << str::trgTrackHeader(gtrack,os) << std::endl;
00006   os << str::trgTrackFields(gtrack,os) << std::endl;
00007   os << str::trgStates(gtrack.otherStates(),os) <<std::endl;
00008   os << str::trgTrackReferences(gtrack,os);
00009   return os;
00010 }
00011 
00012 std::ostream& str::trgTrackHeader(const TrgTrack& gtrack, std::ostream& os) 
00013 {
00014   os << " chi2  \t" << gtrack.chiSquared() << std::endl;
00015   os << " ndof  \t" << gtrack.degreeOfFreedom() << std::endl;
00016   os << " first state \t" 
00017      << str::trgState(gtrack.firstState(),os) << std::endl;
00018   os << " flags \t " << gtrack.flags() << std::endl;
00019   os << " nStates \t" << gtrack.otherStates().size();
00020   return os;
00021 }
00022 
00023 std::ostream& str::trgStates(const std::vector<TrgState>& states,
00024                              std::ostream& os)  
00025 {
00026   os << " states \t " << states.size() << std::endl;
00027   for (std::vector<TrgState>::const_iterator it = states.begin();
00028        it != states.end(); it++) {
00029     const TrgState& gstate = *it;
00030     os << str::trgState(gstate,os) << std::endl;
00031   }
00032   return os;
00033 }
00034 
00035 std::ostream& str::trgTrackReferences(const TrgTrack& gtrack,
00036                                       std::ostream& os) 
00037 {
00038   os << " references :" << std::endl;
00039   const std::vector< std::pair<VeloChannelID,int> >& vref 
00040     = gtrack.veloReference();
00041   for (std::vector< std::pair<VeloChannelID,int> >::const_iterator
00042          it = vref.begin(); it != vref.end(); it++) {
00043     const std::pair<VeloChannelID,int>& velo = *it;
00044     os << " \t velo id "<<velo.first.channelID() 
00045        << " size " << velo.second << std::endl;
00046   }  
00047   const std::vector< std::pair<ITChannelID,int> >& itref 
00048     = gtrack.itReference();
00049   for (std::vector< std::pair<ITChannelID,int> >::const_iterator
00050          it = itref.begin(); it != itref.end(); it++) {
00051     const std::pair<ITChannelID,int>& si = *it;
00052     os << " \t si id "<< si.first.channelID() 
00053        << " size " << si.second << std::endl;
00054   }
00055   const std::vector< std::pair<OTChannelID,int> >& otref 
00056     = gtrack.otReference();
00057   for (std::vector< std::pair<OTChannelID,int> >::const_iterator
00058          it = otref.begin(); it != otref.end(); it++) {
00059     const std::pair<VeloChannelID,int>& ot = *it;
00060     os << " \t ot id "<< ot.first.channelID() 
00061        << " size " << ot.second << std::endl;
00062   }
00063   return os; 
00064 }
00065 
00066 
00067 std::ostream& str::trgTrackFields(const TrgTrack& gtrack, std::ostream& os) {
00068   
00069   
00070   TrgTrack::TrgTrackType gtype = (TrgTrack::TrgTrackType) gtrack.type();
00071   
00072   if (gtype == TrgTrack::TypeVeloR) os << "T:VeloR, ";
00073   if (gtype == TrgTrack::TypeVelo3D) os << "T:Velo3D, ";
00074   if (gtype == TrgTrack::TypeVeloTT) os << "T:VeloTT, ";
00075   if (gtype == TrgTrack::TypeLong) os << "T:Long, ";
00076   if (gtype == TrgTrack::TypeDownstream) os << "T:Downstream, ";
00077   if (gtype == TrgTrack::TypeKShort) os << "T:KShort, ";
00078   
00079   if (gtrack.badTrack()) os << "F:BadTrack, ";
00080   if (gtrack.alreadyUsed()) os << "F:AlreadyUsed, ";
00081   if (gtrack.backward()) os << "F:Backward, ";
00082   if (gtrack.selectedIP2D()) os << "F:SelectedIP2D, ";
00083   if (gtrack.selectedMuon2D()) os << "F:SelectedMuon2D, ";
00084   
00085   return os;
00086  }
00087 
00088 std::ostream& str::trgState(const TrgState& state, std::ostream& os) {
00089   os << " z " << state.z() << std::endl;
00090   os << " state " << state.stateVector();
00091   //  os << " cov " << state.covariance() << std::endl;
00092   return os;
00093 }
00094  

Generated on Fri May 27 13:59:37 2005 for New Track Event Model by doxygen 1.4.1