#include <SpiderWeb.h>
Inheritance diagram for spider::SpiderWeb:

Public Member Functions | |
| SpiderWeb (const char *version) | |
| ~SpiderWeb () | |
| void | Update (const cfg::Config &c) |
| jobc::Result | Reco (edm::EventHandle &evt) |
| void | IterPut (edm::EventHandle &evt, Filament &f, int d) |
Private Attributes | |
| int | msglevel |
|
|
Definition at line 33 of file SpiderWeb.cxx. References cfg::Observer::SetWatch(). 00033 : 00034 jobc::Module("SpiderWeb") 00035 { 00036 this->SetWatch("SpiderWebConfig","default"); 00037 }
|
|
|
Definition at line 41 of file SpiderWeb.cxx. References cfg::Observer::RemoveAllWatches(). 00042 {
00043 this->RemoveAllWatches();
00044 }
|
|
||||||||||||||||
|
Definition at line 110 of file SpiderWeb.cxx. References spider::Filament::begcell, spider::Filament::begplane, spider::Filament::daughters, spider::Filament::depth, spider::Filament::endcell, spider::Filament::endplane, spider::Filament::fitbegt, spider::Filament::fitbegz, spider::Filament::fitendt, spider::Filament::fitendz, msglevel, and edm::EventHandle::Reco(). 00111 {
00112 //printf("%d ",d);
00113 //f.Update();
00114 evt.Reco().Put(f,"");
00115
00116 if(msglevel>=DEBUG)printf("put fil at (%d %d) - (%d %d) (%f %f)-(%f %f)\n",f.begplane,f.begcell,f.endplane,f.endcell,f.fitbegz, f.fitbegt, f.fitendz, f.fitendt);
00117
00118 for(unsigned int i=0;i<f.daughters.size();i++)
00119 {
00120 f.daughters[i]->depth=d;
00121 // evt.Reco().Put(*f.daughters[i],"");
00122 SpiderWeb::IterPut(evt,*f.daughters[i],++d);
00123
00124 }
00125
00126 }
|
|
|
Reimplemented from jobc::Module. Definition at line 53 of file SpiderWeb.cxx. References spider::fGeo, spider::WebWalker::GetFilaments(), edm::EventHandle::Header(), geo::Geometry::Instance(), msglevel, geo::Geometry::Plane(), edm::EventHandle::Reco(), spider::WebWalker::SpinWeb(), and geo::PlaneGeo::View(). 00054 {
00055
00056 //get cellhits from the file
00057 std::vector<const recobase::CellHit*> cellhit(0);
00058 //assert_jobc(evt.Reco().Get("Hits",cellhit),"No CellHits found in DetSim() folder!");
00059
00060 try
00061 {
00062 evt.Reco().Get("Hits",cellhit);
00063 }catch(...){return jobc::kFailed;}
00064
00065
00066 short fDetGeom=1;
00067 // if (!fGeo)
00068 fGeo = &geo::Geometry::Instance(evt.Header().Run(), fDetGeom);
00069
00070
00071
00072 vector<const recobase::CellHit*> cellhitX(0);
00073 vector<const recobase::CellHit*> cellhitY(0);
00074 for (unsigned int i=0; i<cellhit.size(); ++i) {
00075 if(fGeo->Plane(cellhit[i]->Plane()).View()==geo::kX) {
00076 cellhitX.push_back(cellhit[i]);
00077 } else {
00078 cellhitY.push_back(cellhit[i]);
00079 }
00080 }
00081
00082
00083
00084 std::vector<spider::Filament> filsx(0);
00085 std::vector<spider::Filament> filsy(0);
00086
00087 if(msglevel>=DEBUG)printf("X VIEW\n");
00088 WebWalker wx;
00089 wx.SpinWeb(cellhitX);
00090 filsx=wx.GetFilaments(geo::kX);
00091
00092 if(msglevel>=DEBUG)printf("Y VIEW\n");
00093 WebWalker wy;
00094 wy.SpinWeb(cellhitY);
00095 filsy=wy.GetFilaments(geo::kY);
00096
00097 if(msglevel>=DEBUG)printf("Results\n");
00098
00099 for(unsigned int i=0;i<filsx.size();i++)
00100 //evt.Reco().Put(filsx[i],"");
00101 SpiderWeb::IterPut(evt,filsx[i],0);
00102
00103 for(unsigned int i=0;i<filsy.size();i++)
00104 //evt.Reco().Put(filsy[i],"");
00105 SpiderWeb::IterPut(evt,filsy[i],0);
00106
00107 return jobc::kPassed;
00108 }
|
|
|
Implements cfg::Observer. Definition at line 47 of file SpiderWeb.cxx. References msglevel. 00048 {
00049 c("MessageLevel").Get(msglevel);
00050 }
|
|
|
Definition at line 35 of file SpiderWeb.h. |
1.3.9.1