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

CalDetTOFRange.cxx

Go to the documentation of this file.
00001 #include "CalDetPID/CalDetTOFRange.h"
00002 #include "MessageService/MsgService.h"
00003 #include "DatabaseInterface/DbiOutRowStream.h"
00004 #include "DatabaseInterface/DbiResultSet.h"
00005 #include "DatabaseInterface/DbiValidityRec.h"
00006 
00007 ClassImp(CalDetTOFRange)
00008 
00009 
00010 CVSID("$Id: CalDetTOFRange.cxx,v 1.5 2005/03/11 16:17:48 west Exp $\n  \
00011       CVSID_DBIRESULTPTR ");
00012 
00013 #include "DatabaseInterface/DbiResultPtr.tpl"
00014 template class  DbiResultPtr<CalDetTOFRange>;
00015 
00016 #include "DatabaseInterface/DbiWriter.tpl"
00017 template class  DbiWriter<CalDetTOFRange>;
00018 
00019 void CalDetTOFRange::Fill(DbiResultSet& rs, 
00020                        const DbiValidityRec* /* vrec */) {
00021 
00022      if ( rs.TableName() == "CALDETTOFRANGE" ) {
00023      // dumb filling
00024           rs>> fParticleType
00025             >> fTDC0Low
00026             >> fTDC0High
00027             >> fTDC1Low
00028             >> fTDC1High
00029             >> fTDC2Low
00030             >> fTDC2High
00031             >> fTDC2_Minus_TDC0_Low
00032             >> fTDC2_Minus_TDC0_High
00033             >> fTDC2_Minus_TDC1_Low
00034             >> fTDC2_Minus_TDC1_High;
00035      }
00036      else{
00037      // Smart method
00038       Int_t numCol = rs.NumCols();
00039       //  The first column (SeqNo) has already been processed.
00040       for (Int_t curCol = rs.HasRowCounter() ? 3 : 2; curCol <= numCol; ++curCol) {
00041          string colName = rs.CurColName();
00042          if (      colName == "PARTICLETYPE" ) rs >> fParticleType;
00043          else if ( colName == "TDC0LOW" )       rs >> fTDC0Low;
00044          else if ( colName == "TDC0HIGH" )       rs >> fTDC0High;
00045          else if ( colName == "TDC1LOW" )       rs >> fTDC1Low;
00046          else if ( colName == "TDC1HIGH" )       rs >> fTDC1High;
00047          else if ( colName == "TDC2LOW" )       rs >> fTDC2Low;
00048          else if ( colName == "TDC2HIGH" )       rs >> fTDC2High;
00049          else if ( colName == "TDC2MINUSTDC0LOW" ) rs >> fTDC2_Minus_TDC0_Low;
00050          else if ( colName == "TDC2MINUSTDC0HIGH" ) rs >> fTDC2_Minus_TDC0_High;
00051          else if ( colName == "TDC2MINUSTDC1LOW" ) rs >> fTDC2_Minus_TDC1_Low;
00052          else if ( colName == "TDC2MINUSTDC1HIGH" ) rs >> fTDC2_Minus_TDC1_High;
00053          else {
00054             MSG("Dbi",Msg::kDebug) << "Ignoring column " << curCol 
00055                                    << "(" << colName << ")"
00056                                    << "; not part of CalDetTOFRange" 
00057                                    << endl;
00058          rs.IncrementCurCol();
00059          }
00060       }
00061 
00062      }
00063 }
00064 
00065 void CalDetTOFRange::Store(DbiOutRowStream& ors,
00066                            const DbiValidityRec* /* vrec */) const {
00067 //     MSG("Dbi", Msg::kVerbose)<<"Calling Store!"<<std::endl;
00068           ors<< fParticleType
00069             << fTDC0Low
00070             << fTDC0High
00071             << fTDC1Low
00072             << fTDC1High
00073             << fTDC2Low
00074             << fTDC2High
00075             << fTDC2_Minus_TDC0_Low
00076             << fTDC2_Minus_TDC0_High
00077             << fTDC2_Minus_TDC1_Low
00078             << fTDC2_Minus_TDC1_High;
00079 }
00080 
00081 std::ostream& CalDetTOFRange::Print(std::ostream& os, Option_t*) const
00082 {
00083      os<< "-----------------------------------------------\n"
00084        << "PARTICLETYPE: "<<fParticleType<<"\n"
00085        << "TDC0LOW: "<<fTDC0Low<<"\n"
00086        << "TDC0HIGH: "<<fTDC0High<<"\n"
00087        << "TDC1LOW: "<<fTDC1Low<<"\n"
00088        << "TDC1HIGH: "<<fTDC1High<<"\n"
00089        << "TDC2LOW: "<<fTDC2Low<<"\n"
00090        << "TDC2HIGH: "<<fTDC2High<<"\n"
00091        << "TDC2MINUSTDC0LOW: "<<fTDC2_Minus_TDC0_Low<<"\n"
00092        << "TDC2MINUSTDC0HIGH: "<<fTDC2_Minus_TDC0_High<<"\n"
00093        << "TDC2MINUSTDC1LOW: "<<fTDC2_Minus_TDC1_Low<<"\n"
00094        << "TDC2MINUSTDC1HIGH: "<<fTDC2_Minus_TDC1_High<<"\n"
00095        << "-----------------------------------------------";
00096      return os;
00097 }
00098 
00099 std::ostream& operator<<(std::ostream&os, const CalDetTOFRange& tr)
00100 {
00101      return tr.Print(os);
00102 }
00103 
00104 void CalDetTOFRange::Print(Option_t* op) const
00105 {
00106      Print(std::cout,op);
00107 }
00108 
00109 std::string CalDetTOFRange::GetTableDesc(){
00110      return std::string(
00111           "(SeqNo int,   PARTICLETYPE  int,"
00112           " TDC0LOW float, TDC0HIGH float, "
00113           " TDC1LOW float, TDC1HIGH float, "
00114           " TDC2LOW float, TDC2HIGH float, "
00115           " TDC2MINUSTDC0LOW float, TDC2MINUSTDC0HIGH float, "
00116           " TDC2MINUSTDC1LOW float, TDC2MINUSTDC1HIGH float )"
00117           );
00118 }
00119 

Generated on Mon Feb 15 11:06:27 2010 for loon by  doxygen 1.3.9.1