00001 00002 // 00003 // AlgCluster3D.cxx (based on R.Lee's AlgClusterSR) 00004 // 00005 // AlgCluster3D is a concrete Cluster3D Algorithm class. 00006 // 00007 // Author: K.Grzelak1@physics.ox.ac.uk 00008 // 00010 00011 #include <cassert> 00012 00013 #include "Cluster3D/AlgCluster3D.h" 00014 #include "Cluster3D/CandCluster3DHandle.h" 00015 #include "MessageService/MsgService.h" 00016 #include "MinosObjectMap/MomNavigator.h" 00017 #include "RecoBase/CandStripHandle.h" 00018 #include "Candidate/CandHandle.h" 00019 #include "Candidate/CandContext.h" 00020 #include "Validity/VldContext.h" 00021 00022 ClassImp(AlgCluster3D) 00023 00024 CVSID("$Id:"); 00025 00026 //______________________________________________________________________ 00027 void AlgCluster3D::RunAlg(AlgConfig & /* ac */, CandHandle &ch, CandContext &cx) 00028 { 00029 MSG("Cluster3D", Msg::kDebug) << "Starting AlgCluster3D::RunAlg()" << endl; 00030 00031 assert(ch.InheritsFrom("CandCluster3DHandle")); 00032 CandCluster3DHandle &cch = dynamic_cast<CandCluster3DHandle &>(ch); 00033 00034 assert(cx.GetDataIn()); 00035 00036 assert(cx.GetDataIn()->InheritsFrom("TObjArray")); 00037 00038 const TObjArray *tary = 00039 dynamic_cast<const TObjArray*>(cx.GetDataIn()); 00040 00041 for (Int_t i=0; i<=tary->GetLast(); i++) { 00042 TObject *tobj = tary->At(i); 00043 assert(tobj->InheritsFrom("CandStripHandle")); 00044 CandStripHandle *striphandle = dynamic_cast<CandStripHandle*>(tobj); 00045 cch.AddDaughterLink(*striphandle); 00046 } 00047 00048 } 00049 //______________________________________________________________________ 00050 void AlgCluster3D::Trace(const char * /* c */) const 00051 { 00052 }
1.3.9.1