00001 00002 // $Id: AlgSliceSR.cxx,v 1.9 2004/08/19 14:33:20 musser Exp $ 00003 // 00004 // AlgSliceSR.cxx 00005 // 00006 // Begin_Html<img src="../../pedestrians.gif" align=center> 00007 // <a href="../source_warning.html">Warning for beginners</a>.<br> 00008 // 00009 // AlgSliceSR is a concrete SliceSR Algorithm class. 00010 // 00011 // Author: R. Lee 2001.01.23 00012 // 00013 // Also see <a href="../../root_crib/index.html">The ROOT Crib</a> and 00014 // <a href="../CandSliceSR.html"> CandSliceSR Classes</a> (part of 00015 // <a href="../index.html">The MINOS Class User Guide</a>)End_Html 00017 00018 #include <cassert> 00019 00020 #include "Candidate/CandContext.h" 00021 #include "CandSliceSR/AlgSliceSR.h" 00022 #include "RecoBase/CandSliceHandle.h" 00023 #include "MessageService/MsgService.h" 00024 #include "MinosObjectMap/MomNavigator.h" 00025 #include "RecoBase/CandStripHandle.h" 00026 #include "Validity/VldContext.h" 00027 00028 ClassImp(AlgSliceSR) 00029 00030 //______________________________________________________________________ 00031 //CVSID("$Id: AlgSliceSR.cxx,v 1.9 2004/08/19 14:33:20 musser Exp $"); 00032 //______________________________________________________________________ 00033 AlgSliceSR::AlgSliceSR() 00034 { 00035 } 00036 00037 //______________________________________________________________________ 00038 AlgSliceSR::~AlgSliceSR() 00039 { 00040 } 00041 00042 //______________________________________________________________________ 00043 void AlgSliceSR::RunAlg(AlgConfig & /* ac */, CandHandle &ch, CandContext &cx) 00044 { 00045 00046 assert(ch.InheritsFrom("CandSliceHandle")); 00047 CandSliceHandle &csh = dynamic_cast<CandSliceHandle &>(ch); 00048 00049 assert(cx.GetDataIn()); 00050 assert(cx.GetDataIn()->InheritsFrom("TObjArray")); 00051 00052 const TObjArray *tary = 00053 dynamic_cast<const TObjArray*>(cx.GetDataIn()); 00054 00055 for (Int_t i=0; i<=tary->GetLast(); i++) { 00056 TObject *tobj = tary->At(i); 00057 assert(tobj->InheritsFrom("CandStripHandle")); 00058 CandStripHandle *striphandle = dynamic_cast<CandStripHandle*>(tobj); 00059 csh.AddDaughterLink(*striphandle); 00060 00061 } 00062 00063 } 00064 00065 //______________________________________________________________________ 00066 void AlgSliceSR::Trace(const char * /* c */) const 00067 { 00068 }
1.3.9.1