#include <SRMom.h>
Public Member Functions | |
| SRMom () | |
| SRMom (const MomNavigator *mom) | |
| virtual | ~SRMom () |
| virtual const std::multimap< Float_t, Float_t > | ArrayRAlongTrack (const Int_t eventNum, const Int_t trackNum) const |
| virtual const std::multimap< Float_t, Float_t > | ArrayUAlongTrack (const Int_t eventNum, const Int_t trackNum) const |
| virtual const std::multimap< Float_t, Float_t > | ArrayVAlongTrack (const Int_t eventNum, const Int_t trackNum) const |
| virtual const std::multimap< Float_t, Float_t > | ArrayXAlongTrack (const Int_t eventNum, const Int_t trackNum) const |
| virtual const std::multimap< Float_t, Float_t > | ArrayXAlongTrack (const NtpSRTrack *srTrack) const |
| virtual const std::multimap< Float_t, Float_t > | ArrayYAlongTrack (const Int_t eventNum, const Int_t trackNum) const |
| virtual const std::multimap< Float_t, Float_t > | ArrayYAlongTrack (const NtpSRTrack *srTrack) const |
| virtual const Int_t | BiggestShwIndex (Int_t eventNum) const |
| virtual const Float_t | ChiSq (const Int_t eventNum, const Int_t trackNum) const |
| virtual const Float_t | ChiSqPerNDoF (const Int_t eventNum, const Int_t trackNum) const |
| virtual const Detector::Detector_t | Detector () const |
| virtual const Int_t | EvtLthPln (const Int_t eventNum) const |
| virtual const NtpSRVertex * | EvtVtx (const Int_t eventNum) const |
| virtual const Int_t | EventVtxPlane (const Int_t eventNum) const |
| virtual const Float_t | EventVtxU (const Int_t eventNum) const |
| virtual const Float_t | EventVtxV (const Int_t eventNum) const |
| virtual const Float_t | EventVtxX (const Int_t eventNum) const |
| virtual const Float_t | EventVtxY (const Int_t eventNum) const |
| virtual const Float_t | EventVtxZ (const Int_t eventNum) const |
| virtual const Bool_t | LISnarl () const |
| virtual const Int_t | LongestTrackIndex (const Int_t eventNum) const |
| virtual const Int_t | NDoF (const Int_t eventNum, const Int_t trackNum) const |
| virtual const Int_t | NumEvents () const |
| virtual const Int_t | NumTracks (const Int_t eventNum) const |
| virtual const Int_t | NumShowers (const Int_t eventNum) const |
| virtual const Int_t | RunNumber () const |
| virtual const Int_t | ShwEndPln (const Int_t eventNum, const Int_t shwNum) const |
| virtual const Int_t | ShwLthPlanes (const Int_t eventNum, const Int_t shwNum) const |
| virtual const Float_t | ShwPHGeV (const Int_t eventNum, const Int_t shwNum) const |
| virtual const NtpSRVertex * | ShwStartVtx (const Int_t eventNum, const Int_t shwNum) const |
| virtual const Int_t | SnarlNumber () const |
| virtual const Float_t | SnarlPoT () const |
| virtual const NtpStRecord * | STRecord () const |
| virtual const Int_t | TrkContained (const Int_t eventNum, const Int_t trackNum) const |
| virtual const Int_t | TrackEndPlane (const Int_t eventNum, const Int_t trackNum) const |
| virtual const Float_t | TrackEndDistOuterTransEdge (const Int_t eventNum, const Int_t trackNum) const |
| virtual const Float_t | TrackEndDistZEnd (const Int_t eventNum, const Int_t trackNum) const |
| virtual const Float_t | TrkEndR (const Int_t eventNum, const Int_t trackNum) const |
| virtual const Float_t | TrackEndU (const Int_t eventNum, const Int_t trackNum) const |
| virtual const Float_t | TrackEndV (const Int_t eventNum, const Int_t trackNum) const |
| virtual const Float_t | TrackEndX (const Int_t eventNum, const Int_t trackNum) const |
| virtual const Float_t | TrackEndY (const Int_t eventNum, const Int_t trackNum) const |
| virtual const Float_t | TrackEndZ (const Int_t eventNum, const Int_t trackNum) const |
| virtual const Float_t | TrkEnergySimple (const Int_t eventNum, const Int_t trackNum) const |
| virtual const Int_t | TrkFitPass (const Int_t eventNum, const Int_t trackNum) const |
| virtual const Float_t | TrackLength (const Int_t eventNum, const Int_t trackNum) const |
| virtual const Int_t | TrackLengthPlanes (const Int_t eventNum, const Int_t trackNum) const |
| virtual const Int_t | TrackLengthPlanes (const NtpSRTrack *srTrack) const |
| virtual const Float_t | TrkMomCurv (const Int_t eventNum, const Int_t trackNum) const |
| virtual const Float_t | TrkMomRange (const Int_t eventNum, const Int_t trackNum) const |
| virtual const Int_t | TrkNumPln (const Int_t eventNum, const Int_t trackNum) const |
| virtual const Int_t | TrackNumStrips (const Int_t eventNum, const Int_t trackNum) const |
| virtual const NtpSRVertex * | TrkStartVtx (const Int_t eventNum, const Int_t trackNum) const |
| virtual const Int_t | TrackVtxPlane (const Int_t eventNum, const Int_t trackNum) const |
| virtual const Float_t | TrackVtxQOvP (const Int_t eventNum, const Int_t trackNum) const |
| virtual const Float_t | TrackVtxQOvP (const NtpSRTrack *srTrack) const |
| virtual const Float_t | TrackVtxQOvPError (const Int_t eventNum, const Int_t trackNum) const |
| virtual const Float_t | TrkVtxR (const Int_t eventNum, const Int_t trackNum) const |
| virtual const Float_t | TrackVtxX (const Int_t eventNum, const Int_t trackNum) const |
| virtual const Float_t | TrackVtxY (const Int_t eventNum, const Int_t trackNum) const |
| virtual const Float_t | TrackVtxZ (const Int_t eventNum, const Int_t trackNum) const |
Private Member Functions | |
| virtual const NtpSRTrack * | LongestTrackInEvent (const Int_t eventNum) const |
| virtual const NtpSREvent * | SREvent (const Int_t eventNum) const |
| virtual const NtpSRShower * | SRShower (const Int_t eventNum, const Int_t shwNum) const |
| virtual const NtpSRTrack * | SRTrack (const Int_t eventNum, const Int_t trackNum) const |
| virtual const Int_t | TrackEndPlane (const NtpSRTrack *srTrack) const |
| virtual const Int_t | TrackVtxPlane (const NtpSRTrack *srTrack) const |
| virtual const Float_t | TrackEndX (const NtpSRTrack *srTrack) const |
| virtual const Float_t | TrackEndY (const NtpSRTrack *srTrack) const |
| virtual const VldContext * | VldCntxt () const |
Private Attributes | |
| const MomNavigator * | fmom |
| const NtpStRecord * | fstRecord |
| const NtpBDLiteRecord * | fbdLiteRec |
| const BeamType::BeamType_t | fbeamType |
|
|
Definition at line 87 of file SRMom.cxx. 00088 : fbeamType(BeamType::kLE) 00089 { 00090 fmom = 0; 00091 fstRecord = 0; 00092 fbdLiteRec = 0; 00093 /* 00094 fbuffSREvt = 0; 00095 fbuffEvtNum = -1; 00096 fbuffSRTrk = 0; 00097 fbuffTrkNum = -1; 00098 */ 00099 }
|
|
|
Definition at line 102 of file SRMom.cxx. References fbdLiteRec, fmom, fstRecord, MomNavigator::GetFragment(), MAXMSG, and MSG. 00103 : fbeamType(BeamType::kLE) 00104 { 00105 fmom = mom; 00106 if (!fmom){ 00107 MSG("SRMom",Msg::kWarning) 00108 << "No Mom in this snarl" << endl; 00109 fstRecord = 0; 00110 fbdLiteRec = 0; 00111 } 00112 00113 else{ 00114 fstRecord = dynamic_cast<NtpStRecord*> 00115 (fmom->GetFragment("NtpStRecord")); 00116 if (!fstRecord){ 00117 MSG("SRMom",Msg::kWarning) 00118 << "No NtpStRecord in Mom" << endl; 00119 } 00120 00121 fbdLiteRec = dynamic_cast<NtpBDLiteRecord*> 00122 (fmom->GetFragment("NtpBDLiteRecord")); 00123 if (!fbdLiteRec){ 00124 MAXMSG("SRMom",Msg::kWarning, 10) 00125 << "No NtpBDLiteRecord in Mom" << endl; 00126 } 00127 } 00128 00129 /* 00130 fbuffSREvt = 0; 00131 fbuffEvtNum = -1; 00132 fbuffSRTrk = 0; 00133 fbuffTrkNum = -1; 00134 */ 00135 }
|
|
|
Definition at line 138 of file SRMom.cxx. References fbdLiteRec, fmom, and fstRecord. 00139 {
00140 fbdLiteRec = 0;
00141 fstRecord = 0;
00142 fmom = 0;
00143 /*
00144 fbuffSREvt = 0;
00145 fbuffEvtNum = -1;
00146 fbuffSRTrk = 0;
00147 fbuffTrkNum = -1;
00148 */
00149 }
|
|
||||||||||||
|
Definition at line 152 of file SRMom.cxx. References MSG, NtpSRTrack::nstrip, SRTrack(), NtpSRTrack::stpx, NtpSRTrack::stpy, and NtpSRTrack::stpz. 00154 {
00155 multimap<Float_t, Float_t> md;
00156 md.clear();
00157 const NtpSRTrack* srTrack = SRTrack(eventNum, trackNum);
00158 if (!srTrack){
00159 MSG("SRMom",Msg::kWarning)
00160 << "No NtpSRTrack number " << trackNum
00161 << " in event number " << eventNum << endl;
00162 return md;
00163 }
00164 for (Int_t k=0; k<srTrack->nstrip; ++k){
00165 // if(!srTrack->stpfit[k]){continue;}
00166 Float_t x = srTrack->stpx[k];
00167 Float_t y = srTrack->stpy[k];
00168 md.insert(pair<Float_t,Float_t>(srTrack->stpz[k],
00169 sqrt(x*x + y*y)));
00170 }
00171 return md;
00172 }
|
|
||||||||||||
|
Definition at line 175 of file SRMom.cxx. References MSG, NtpSRTrack::nstrip, SRTrack(), NtpSRTrack::stpu, and NtpSRTrack::stpz. Referenced by MajorityCurvature::CalcCombCurv(). 00177 {
00178 multimap<Float_t, Float_t> md;
00179 md.clear();
00180 const NtpSRTrack* srTrack = SRTrack(eventNum, trackNum);
00181 if (!srTrack){
00182 MSG("SRMom",Msg::kWarning)
00183 << "No NtpSRTrack number " << trackNum
00184 << " in event number " << eventNum << endl;
00185 return md;
00186 }
00187 for (Int_t k=0; k<srTrack->nstrip; ++k){
00188 // if(!srTrack->stpfit[k]){continue;}
00189 md.insert(pair<Float_t,Float_t>(srTrack->stpz[k],
00190 srTrack->stpu[k]));
00191 }
00192 return md;
00193 }
|
|
||||||||||||
|
Definition at line 196 of file SRMom.cxx. References MSG, NtpSRTrack::nstrip, SRTrack(), NtpSRTrack::stpv, and NtpSRTrack::stpz. Referenced by MajorityCurvature::CalcCombCurv(). 00198 {
00199 multimap<Float_t, Float_t> md;
00200 md.clear();
00201 const NtpSRTrack* srTrack = SRTrack(eventNum, trackNum);
00202 if (!srTrack){
00203 MSG("SRMom",Msg::kWarning)
00204 << "No NtpSRTrack number " << trackNum
00205 << " in event number " << eventNum << endl;
00206 return md;
00207 }
00208 for (Int_t k=0; k<srTrack->nstrip; ++k){
00209 // if(!srTrack->stpfit[k]){continue;}
00210 md.insert(pair<Float_t,Float_t>(srTrack->stpz[k],
00211 srTrack->stpv[k]));
00212 }
00213 return md;
00214 }
|
|
|
Definition at line 248 of file SRMom.cxx. References MSG, NtpSRTrack::nstrip, NtpSRTrack::stpx, and NtpSRTrack::stpz. 00249 {
00250 multimap<Float_t, Float_t> md;
00251 md.clear();
00252 if (!srTrack){
00253 MSG("SRMom",Msg::kWarning)
00254 << "No NtpSRTrack passed to SRMom::ArrayXAlongTrack" << endl;
00255 return md;
00256 }
00257
00258 for (Int_t k=0; k<srTrack->nstrip; ++k){
00259 md.insert(pair<Float_t,Float_t>(srTrack->stpz[k],
00260 srTrack->stpx[k]));
00261 }
00262 return md;
00263 }
|
|
||||||||||||
|
Definition at line 217 of file SRMom.cxx. References MSG, NtpSRTrack::nstrip, SRTrack(), NtpSRTrack::stpx, and NtpSRTrack::stpz. Referenced by MajorityCurvature::CalcXCurv(), and MajorityCurvature::CalcXCurvObject(). 00219 {
00220 multimap<Float_t, Float_t> md;
00221 md.clear();
00222 const NtpSRTrack* srTrack = SRTrack(eventNum, trackNum);
00223 if (!srTrack){
00224 MSG("SRMom",Msg::kWarning)
00225 << "No NtpSRTrack number " << trackNum
00226 << " in event number " << eventNum << endl;
00227 return md;
00228 }
00229
00230 for (Int_t k=0; k<srTrack->nstrip; ++k){
00231 // if(!srTrack->stpfit[k]){continue;}
00232 // cout<<k<<" "<<srTrack->stpx[k]<<" "<<srTrack->stpz[k]<<endl;
00233 md.insert(pair<Float_t,Float_t>(srTrack->stpz[k],
00234 srTrack->stpx[k]));
00235 }/*
00236 multimap<Float_t,Float_t>::const_iterator it = md.begin();
00237
00238 for(int k=0;k<srTrack->nstrip; ++k){
00239 cout<<"from SR MOM "<<it->first<<" "<<it->second<<endl;
00240 it++;
00241 }
00242 */
00243 return md;
00244 }
|
|
|
Definition at line 288 of file SRMom.cxx. References MSG, NtpSRTrack::nstrip, NtpSRTrack::stpy, and NtpSRTrack::stpz. 00289 {
00290 multimap<Float_t, Float_t> md;
00291 md.clear();
00292 if (!srTrack){
00293 MSG("SRMom",Msg::kWarning)
00294 << "No NtpSRTrack passed to SRMom::ArrayYAlongTrack" << endl;
00295 return md;
00296 }
00297 for (Int_t k=0; k<srTrack->nstrip; ++k){
00298 md.insert(pair<Float_t,Float_t>(srTrack->stpz[k],
00299 srTrack->stpy[k]));
00300 }
00301 return md;
00302 }
|
|
||||||||||||
|
Definition at line 266 of file SRMom.cxx. References MSG, NtpSRTrack::nstrip, SRTrack(), NtpSRTrack::stpy, and NtpSRTrack::stpz. Referenced by MajorityCurvature::CalcYCurv(), and MajorityCurvature::CalcYCurvObject(). 00268 {
00269 multimap<Float_t, Float_t> md;
00270 md.clear();
00271 const NtpSRTrack* srTrack = SRTrack(eventNum, trackNum);
00272 if (!srTrack){
00273 MSG("SRMom",Msg::kWarning)
00274 << "No NtpSRTrack number " << trackNum
00275 << " in event number " << eventNum << endl;
00276 return md;
00277 }
00278 for (Int_t k=0; k<srTrack->nstrip; ++k){
00279 // if(!srTrack->stpfit[k]){continue;}
00280 md.insert(pair<Float_t,Float_t>(srTrack->stpz[k],
00281 srTrack->stpy[k]));
00282 }
00283 return md;
00284 }
|
|
|
Definition at line 305 of file SRMom.cxx. References MSG, NumShowers(), and ShwPHGeV(). 00306 {
00307 Float_t highestPH = 0.0;
00308 Int_t biggestShwIndex = -1;
00309 Int_t numShowers = this->NumShowers(eventNum);
00310 if (numShowers < 1){return -1;}
00311
00312 for (Int_t j=0; j<numShowers; ++j){
00313 Float_t ph = this->ShwPHGeV(eventNum,j);
00314 if (ph > highestPH){
00315 highestPH = ph;
00316 biggestShwIndex = j;
00317 }
00318 }
00319 if (-1 == biggestShwIndex){
00320 MSG("SRMom",Msg::kWarning)
00321 << "Showers in event " << eventNum << " have -ve energy." << endl;
00322 }
00323 return biggestShwIndex;
00324 }
|
|
||||||||||||
|
Definition at line 327 of file SRMom.cxx. References NtpSRFitTrack::chi2, NtpSRTrack::fit, MSG, NtpSRFitTrack::pass, and SRTrack(). 00329 {
00330 const NtpSRTrack* srTrack = SRTrack(eventNum, trackNum);
00331 if (!srTrack){
00332 MSG("SRMom",Msg::kWarning)
00333 << "No NtpSRTrack number " << trackNum
00334 << " in event number " << eventNum << endl;
00335 return -1.0;
00336 }
00337 if (!srTrack->fit.pass) return -1.0;
00338
00339 return srTrack->fit.chi2;
00340 }
|
|
||||||||||||
|
Definition at line 343 of file SRMom.cxx. References NtpSRFitTrack::chi2, NtpSRTrack::fit, MSG, NtpSRFitTrack::ndof, NtpSRFitTrack::pass, and SRTrack(). 00345 {
00346 const NtpSRTrack* srTrack = SRTrack(eventNum, trackNum);
00347 if (!srTrack){
00348 MSG("SRMom",Msg::kWarning)
00349 << "No NtpSRTrack number " << trackNum
00350 << " in event number " << eventNum << endl;
00351 return -1.0;
00352 }
00353 if (!srTrack->fit.pass) return -1.0;
00354 if (!srTrack->fit.ndof) return -1.0;
00355
00356 return srTrack->fit.chi2/srTrack->fit.ndof;
00357 }
|
|
|
Definition at line 360 of file SRMom.cxx. References VldContext::GetDetector(), and VldCntxt(). 00361 {
00362 const VldContext* vc = this->VldCntxt();
00363 if (!vc){return Detector::kUnknown;}
00364 return vc->GetDetector();
00365 }
|
|
|
Definition at line 395 of file SRMom.cxx. References MSG, NtpSRVertex::plane, SREvent(), and NtpSREvent::vtx. 00396 {
00397 const NtpSREvent* srEvent = this->SREvent(eventNum);
00398 if(!srEvent){
00399 MSG("SRMom",Msg::kWarning)
00400 << "No NtpSREvent with event number " << eventNum << endl;
00401 return -1;
00402 }
00403
00404 return srEvent->vtx.plane;
00405 }
|
|
|
Definition at line 408 of file SRMom.cxx. References MSG, SREvent(), NtpSRVertex::u, and NtpSREvent::vtx. 00409 {
00410 const NtpSREvent* srEvent = this->SREvent(eventNum);
00411 if(!srEvent){
00412 MSG("SRMom",Msg::kWarning)
00413 << "No NtpSREvent with event number " << eventNum << endl;
00414 return -1;
00415 }
00416
00417 return srEvent->vtx.u;
00418 }
|
|
|
Definition at line 421 of file SRMom.cxx. References MSG, SREvent(), NtpSRVertex::v, and NtpSREvent::vtx. 00422 {
00423 const NtpSREvent* srEvent = this->SREvent(eventNum);
00424 if(!srEvent){
00425 MSG("SRMom",Msg::kWarning)
00426 << "No NtpSREvent with event number " << eventNum << endl;
00427 return -1;
00428 }
00429
00430 return srEvent->vtx.v;
00431 }
|
|
|
Definition at line 434 of file SRMom.cxx. References MSG, SREvent(), NtpSREvent::vtx, and NtpSRVertex::x. 00435 {
00436 const NtpSREvent* srEvent = this->SREvent(eventNum);
00437 if(!srEvent){
00438 MSG("SRMom",Msg::kWarning)
00439 << "No NtpSREvent with event number " << eventNum << endl;
00440 return -1;
00441 }
00442
00443 return srEvent->vtx.x;
00444 }
|
|
|
Definition at line 447 of file SRMom.cxx. References MSG, SREvent(), NtpSREvent::vtx, and NtpSRVertex::y. 00448 {
00449 const NtpSREvent* srEvent = this->SREvent(eventNum);
00450 if(!srEvent){
00451 MSG("SRMom",Msg::kWarning)
00452 << "No NtpSREvent with event number " << eventNum << endl;
00453 return -1;
00454 }
00455
00456 return srEvent->vtx.y;
00457 }
|
|
|
Definition at line 460 of file SRMom.cxx. References MSG, SREvent(), NtpSREvent::vtx, and NtpSRVertex::z. 00461 {
00462 const NtpSREvent* srEvent = this->SREvent(eventNum);
00463 if(!srEvent){
00464 MSG("SRMom",Msg::kWarning)
00465 << "No NtpSREvent with event number " << eventNum << endl;
00466 return -1;
00467 }
00468
00469 return srEvent->vtx.z;
00470 }
|
|
|
Definition at line 368 of file SRMom.cxx. References abs(), NtpSREvent::end, MSG, NtpSRVertex::plane, SREvent(), and NtpSREvent::vtx. 00369 {
00370 const NtpSREvent* srEvent = this->SREvent(eventNum);
00371 if(!srEvent){
00372 MSG("SRMom",Msg::kWarning)
00373 << "No NtpSREvent with event number " << eventNum << endl;
00374 return -1;
00375 }
00376
00377 return abs((Int_t) (srEvent->vtx.plane) -
00378 (Int_t) (srEvent->end.plane));
00379 }
|
|
|
Definition at line 382 of file SRMom.cxx. References MSG, SREvent(), and NtpSREvent::vtx. 00383 {
00384 const NtpSREvent* srEvent = this->SREvent(eventNum);
00385 if(!srEvent){
00386 MSG("SRMom",Msg::kWarning)
00387 << "No NtpSREvent with event number " << eventNum << endl;
00388 return 0;
00389 }
00390
00391 return &(srEvent->vtx);
00392 }
|
|
|
Definition at line 473 of file SRMom.cxx. References NtpStRecord::evthdr, fstRecord, and NtpSREventSummary::litime. 00474 {
00475 if (!fstRecord){return false;}
00476 if (-1.0 == fstRecord->evthdr.litime){return false;}
00477 else {return true;}
00478 }
|
|
|
Definition at line 481 of file SRMom.cxx. References MSG, NumTracks(), and TrackLength(). 00482 {
00483 Float_t longestLength = 0.0;
00484 Int_t longestIndex = -1;
00485 Int_t numTracks = this->NumTracks(eventNum);
00486 if (numTracks < 1){return -1;}
00487
00488 for (Int_t j=0; j<numTracks; ++j){
00489 Float_t length = this->TrackLength(eventNum,j);
00490 if (length > longestLength){
00491 longestLength = length;
00492 longestIndex = j;
00493 }
00494 }
00495 if (-1 == longestIndex){
00496 MSG("SRMom",Msg::kWarning)
00497 << "Tracks in event " << eventNum << " have -ve length." << endl;
00498 }
00499 return longestIndex;
00500 }
|
|
|
Definition at line 503 of file SRMom.cxx. References MSG, NumTracks(), SRTrack(), and TrackLength(). 00504 {
00505 Float_t longestLength = 0.0;
00506 Int_t longestIndex = -1;
00507 Int_t numTracks = this->NumTracks(eventNum);
00508 if (numTracks < 1){return 0;}
00509
00510 for (Int_t j=0; j<numTracks; ++j){
00511 Float_t length = this->TrackLength(eventNum,j);
00512 if (length > longestLength){
00513 longestLength = length;
00514 longestIndex = j;
00515 }
00516 }
00517 if (-1 == longestIndex){
00518 MSG("SRMom",Msg::kWarning)
00519 << "Tracks in event " << eventNum << " have -ve length." << endl;
00520 return 0;
00521 }
00522 return this->SRTrack(eventNum, longestIndex);
00523 }
|
|
||||||||||||
|
Definition at line 526 of file SRMom.cxx. References NtpSRTrack::fit, MSG, NtpSRFitTrack::ndof, NtpSRFitTrack::pass, and SRTrack(). 00528 {
00529 const NtpSRTrack* srTrack = SRTrack(eventNum, trackNum);
00530 if (!srTrack){
00531 MSG("SRMom",Msg::kWarning)
00532 << "No NtpSRTrack number " << trackNum
00533 << " in event number " << eventNum << endl;
00534 return -1;
00535 }
00536 if (!srTrack->fit.pass) return -1;
00537
00538 return srTrack->fit.ndof;
00539 }
|
|
|
Definition at line 542 of file SRMom.cxx. References NtpStRecord::evt, and fstRecord. 00543 {
00544 if (!fstRecord){return -1;}
00545
00546 TClonesArray* srArray = fstRecord->evt;
00547
00548 TIter digitIter(srArray);
00549 NtpSREvent* srEvent;
00550 Int_t numEvents = 0;
00551 while ( (srEvent = dynamic_cast<NtpSREvent*> (digitIter.Next()) ) ){
00552 numEvents++;
00553 }
00554
00555 return numEvents;
00556 }
|
|
|
Definition at line 559 of file SRMom.cxx. References MSG, NtpSREvent::nshower, and SREvent(). Referenced by BiggestShwIndex(), and SRShower(). 00560 {
00561 const NtpSREvent* srEvent = this->SREvent(eventNum);
00562 if(!srEvent){
00563 MSG("SRMom",Msg::kWarning)
00564 << "No NtpSREvent with event number " << eventNum << endl;
00565 return -1;
00566 }
00567
00568 return srEvent->nshower;
00569 }
|
|
|
Definition at line 572 of file SRMom.cxx. References MSG, NtpSREvent::ntrack, and SREvent(). Referenced by LongestTrackIndex(), and LongestTrackInEvent(). 00573 {
00574 const NtpSREvent* srEvent = this->SREvent(eventNum);
00575 if(!srEvent){
00576 MSG("SRMom",Msg::kWarning)
00577 << "No NtpSREvent with event number " << eventNum << endl;
00578 return -1;
00579 }
00580
00581 return srEvent->ntrack;
00582 }
|
|
|
Definition at line 600 of file SRMom.cxx. References fstRecord, RecRecordImp< T >::GetHeader(), and RecDataHeader::GetRun().
|
|
||||||||||||
|
Definition at line 619 of file SRMom.cxx. References NtpSRPlane::end, MSG, NtpSRShower::plane, and SRShower(). 00621 {
00622 const NtpSRShower* srShower = this->SRShower(eventNum,shwNum);
00623 if (!srShower){
00624 MSG("SRMom",Msg::kWarning)
00625 << "No NtpSRShower number " << shwNum
00626 << " in event number " << eventNum<< endl;
00627 return 0;
00628 }
00629 return (Int_t) srShower->plane.end;
00630 }
|
|
||||||||||||
|
Definition at line 633 of file SRMom.cxx. References abs(), NtpSRPlane::beg, NtpSRPlane::end, MSG, NtpSRShower::plane, and SRShower(). 00635 {
00636 const NtpSRShower* srShower = this->SRShower(eventNum,shwNum);
00637 if (!srShower){
00638 MSG("SRMom",Msg::kWarning)
00639 << "No NtpSRShower number " << shwNum
00640 << " in event number " << eventNum<< endl;
00641 return 0;
00642 }
00643 return abs(((Int_t) srShower->plane.end)
00644 - ((Int_t) srShower->plane.beg));
00645 }
|
|
||||||||||||
|
Definition at line 648 of file SRMom.cxx. References NtpSRStripPulseHeight::gev, MSG, NtpSRShower::ph, and SRShower(). Referenced by BiggestShwIndex(). 00650 {
00651 const NtpSRShower* srShower = this->SRShower(eventNum,shwNum);
00652 if (!srShower){
00653 MSG("SRMom",Msg::kWarning)
00654 << "No NtpSRShower number " << shwNum
00655 << " in event number " << eventNum<< endl;
00656 return 0.0;
00657 }
00658 return srShower->ph.gev;
00659 }
|
|
||||||||||||
|
Definition at line 662 of file SRMom.cxx. References MSG, SRShower(), and NtpSRShower::vtx. 00664 {
00665 const NtpSRShower* srShower = this->SRShower(eventNum,shwNum);
00666 if (!srShower){
00667 MSG("SRMom",Msg::kWarning)
00668 << "No NtpSRShower number " << shwNum
00669 << " in event number " << eventNum<< endl;
00670 return 0;
00671 }
00672 return &(srShower->vtx);
00673 }
|
|
|
Definition at line 606 of file SRMom.cxx. References fstRecord, RecRecordImp< T >::GetHeader(), and RecPhysicsHeader::GetSnarl().
|
|
|
Definition at line 612 of file SRMom.cxx. References fbdLiteRec, and NtpBDLiteRecord::tortgt. 00613 {
00614 if (!fbdLiteRec){return 0;}
00615 return fbdLiteRec->tortgt;
00616 }
|
|
|
Definition at line 676 of file SRMom.cxx. References NtpStRecord::evt, and fstRecord. Referenced by EventVtxPlane(), EventVtxU(), EventVtxV(), EventVtxX(), EventVtxY(), EventVtxZ(), EvtLthPln(), EvtVtx(), NumShowers(), NumTracks(), SRShower(), and SRTrack(). 00677 {
00678 /*
00679 if (fbuffEvtNum == eventNum){
00680 return fbuffSREvt;
00681 }
00682 */
00683 if (!fstRecord){
00684 /*
00685 fbuffSREvt = 0;
00686 fbuffEvtNum = eventNum;
00687 fbuffTrkNum = -1;
00688 fbuffSRTrk = 0;
00689 */
00690 return 0;
00691 }
00692 TClonesArray& srArray = *(fstRecord->evt);
00693 NtpSREvent* srEvent = dynamic_cast<NtpSREvent*> (srArray[eventNum]);
00694 /*
00695 fbuffSREvt = srEvent;
00696 fbuffEvtNum = eventNum;
00697 fbuffTrkNum = -1;
00698 fbuffSRTrk = 0;
00699 */
00700 return srEvent;
00701 }
|
|
||||||||||||
|
Definition at line 704 of file SRMom.cxx. References fstRecord, MSG, NumShowers(), NtpStRecord::shw, NtpSREvent::shw, and SREvent(). Referenced by ShwEndPln(), ShwLthPlanes(), ShwPHGeV(), and ShwStartVtx(). 00706 {
00707 if (shwNum < 0){return 0;}
00708 if (shwNum >= this->NumShowers(eventNum)){return 0;}
00709
00710 const NtpSREvent* srEvent = this->SREvent(eventNum);
00711 if (!srEvent){
00712 MSG("SRMom",Msg::kWarning)
00713 << "No NtpSREvent with event number " << eventNum << endl;
00714 return 0;
00715 }
00716
00717 Int_t shwIndex = srEvent->shw[shwNum];
00718 TClonesArray& shwArray = *(fstRecord->shw);
00719 NtpSRShower* shower = dynamic_cast<NtpSRShower*>
00720 (shwArray[shwIndex]);
00721 return shower;
00722 }
|
|
||||||||||||
|
Definition at line 725 of file SRMom.cxx. References fstRecord, MSG, SREvent(), NtpStRecord::trk, and NtpSREvent::trk. Referenced by ArrayRAlongTrack(), ArrayUAlongTrack(), ArrayVAlongTrack(), ArrayXAlongTrack(), ArrayYAlongTrack(), ChiSq(), ChiSqPerNDoF(), LongestTrackInEvent(), NDoF(), TrackEndDistOuterTransEdge(), TrackEndDistZEnd(), TrackEndPlane(), TrackEndU(), TrackEndV(), TrackEndX(), TrackEndY(), TrackEndZ(), TrackLength(), TrackLengthPlanes(), TrackNumStrips(), TrackVtxPlane(), TrackVtxQOvP(), TrackVtxQOvPError(), TrackVtxX(), TrackVtxY(), TrackVtxZ(), TrkEndR(), TrkFitPass(), TrkMomCurv(), TrkMomRange(), TrkNumPln(), TrkStartVtx(), and TrkVtxR(). 00727 {
00728 /*
00729 if ((fbuffTrkNum == trackNum) && (fbuffEvtNum == eventNum)){
00730 // cout << "Returning bufferred track " << SnarlNumber() << ", " << eventNum << ", " << trackNum << endl;
00731 return fbuffSRTrk;
00732 }
00733 */
00734 const NtpSREvent* srEvent = this->SREvent(eventNum);
00735 if (!srEvent){
00736 MSG("SRMom",Msg::kWarning)
00737 << "No NtpSREvent with event number " << eventNum << endl;
00738 /*
00739 fbuffSRTrk = 0;
00740 fbuffTrkNum = trackNum;
00741 // cout << "Returning 0 for track " << SnarlNumber() << ", " << eventNum << ", " << trackNum << endl;
00742 */
00743 return 0;
00744 }
00745
00746 Int_t trackIndex = srEvent->trk[trackNum];
00747 TClonesArray& trackArray = *(fstRecord->trk);
00748 NtpSRTrack* track = dynamic_cast<NtpSRTrack*>
00749 (trackArray[trackIndex]);
00750 /*
00751 fbuffSRTrk = track;
00752 fbuffTrkNum = trackNum;
00753 // cout << "Returning non-buferred track " << SnarlNumber() << ", " << eventNum << ", " << trackNum << endl;
00754 */
00755 return track;
00756 }
|
|
|
Definition at line 111 of file SRMom.h. 00111 {return fstRecord;}
|
|
||||||||||||
|
Definition at line 783 of file SRMom.cxx. References PlaneOutline::DistanceToOuterEdge(), fmom, PlexPlaneId::GetPlaneCoverage(), PlexPlaneId::GetPlaneView(), MSG, SRTrack(), TrackEndPlane(), and TrackEndY(). Referenced by TrkContained(). 00785 {
00786 const NtpSRTrack* srTrack = this->SRTrack(eventNum, trackNum);
00787 if (!srTrack){
00788 MSG("SRMom",Msg::kWarning)
00789 << "No NtpSRTrack number " << trackNum
00790 << " in event number " << eventNum << endl;
00791 return -999999.9;
00792 }
00793
00794 const Int_t endPln = this->TrackEndPlane(srTrack);
00795 if (endPln < 0){
00796 MSG("SRMom",Msg::kWarning)
00797 << "Trying to find TrackEndDistOuterTransEdge for a plane "
00798 << "before the start of the detector."
00799 << endl;
00800 return -999999.9;
00801 }
00802 PlexPlaneId planeID(DataUtil::GetDetector(*fmom),
00803 (UInt_t) endPln);
00804
00805 Float_t distance = 0;
00806 Float_t xdist = 0;
00807 Float_t ydist = 0;
00808 PlaneOutline plnout;
00809 plnout.DistanceToOuterEdge(this->TrackEndX(srTrack),
00810 this->TrackEndY(srTrack),
00811 planeID.GetPlaneView(),
00812 planeID.GetPlaneCoverage(),
00813 distance,
00814 xdist,
00815 ydist);
00816 return distance;
00817 }
|
|
||||||||||||
|
Definition at line 820 of file SRMom.cxx. References det, NtpSRTrack::end, fmom, DataUtil::GetDetector(), MSG, SRTrack(), and NtpSRVertex::z. Referenced by TrkContained(). 00822 {
00823 const NtpSRTrack* srTrack = this->SRTrack(eventNum, trackNum);
00824 if (!srTrack){
00825 MSG("SRMom",Msg::kWarning)
00826 << "No NtpSRTrack number " << trackNum
00827 << " in event number " << eventNum << endl;
00828 return -999999.9;
00829 }
00830
00831 Detector::Detector_t det = DataUtil::GetDetector(*fmom);
00832 Float_t detLength = 282*5.94*Munits::cm;
00833 if (Detector::kFar == det){
00834 detLength = 484*5.94*Munits::cm;
00835 }
00836 else{
00837 if (Detector::kNear != det){
00838 MSG("SRMom",Msg::kWarning)
00839 << "Trying to find TrkEndDistZEnd for non-existant detector."
00840 << endl;
00841 return -999999.9;
00842 }
00843 }
00844 return detLength - srTrack->end.z;
00845 }
|
|
|
Definition at line 862 of file SRMom.cxx. References NtpSRTrack::end, MSG, and NtpSRVertex::plane. 00863 {
00864 if (!srTrack){
00865 MSG("SRMom",Msg::kWarning)
00866 << "Trying to find TrackEndPlane for a null track." << endl;
00867 return -1;
00868 }
00869 return srTrack->end.plane;
00870 }
|
|
||||||||||||
|
Definition at line 848 of file SRMom.cxx. References NtpSRTrack::end, MSG, NtpSRVertex::plane, and SRTrack(). Referenced by TrackEndDistOuterTransEdge(), and TrackLengthPlanes(). 00850 {
00851 const NtpSRTrack* srTrack = this->SRTrack(eventNum, trackNum);
00852 if (!srTrack){
00853 MSG("SRMom",Msg::kWarning)
00854 << "No NtpSRTrack number " << trackNum
00855 << " in event number " << eventNum << endl;
00856 return -1;
00857 }
00858 return srTrack->end.plane;
00859 }
|
|
||||||||||||
|
Definition at line 890 of file SRMom.cxx. References NtpSRTrack::end, MSG, SRTrack(), and NtpSRVertex::u. 00892 {
00893 const NtpSRTrack* srTrack = this->SRTrack(eventNum, trackNum);
00894 if (!srTrack){
00895 MSG("SRMom",Msg::kWarning)
00896 << "No NtpSRTrack number " << trackNum
00897 << " in event number " << eventNum << endl;
00898 return -999999.9;
00899 }
00900 return srTrack->end.u;
00901 }
|
|
||||||||||||
|
Definition at line 904 of file SRMom.cxx. References NtpSRTrack::end, MSG, SRTrack(), and NtpSRVertex::v. 00906 {
00907 const NtpSRTrack* srTrack = this->SRTrack(eventNum, trackNum);
00908 if (!srTrack){
00909 MSG("SRMom",Msg::kWarning)
00910 << "No NtpSRTrack number " << trackNum
00911 << " in event number " << eventNum << endl;
00912 return -999999.9;
00913 }
00914 return srTrack->end.v;
00915 }
|
|
|
Definition at line 932 of file SRMom.cxx. References NtpSRTrack::end, MSG, and NtpSRVertex::x. 00933 {
00934 if (!srTrack){
00935 MSG("SRMom",Msg::kWarning)
00936 << "Trying to find TrackEndX for a null track." << endl;
00937 return -999999.9;
00938 }
00939 return srTrack->end.x;
00940 }
|
|
||||||||||||
|
Definition at line 918 of file SRMom.cxx. References NtpSRTrack::end, MSG, SRTrack(), and NtpSRVertex::x. 00920 {
00921 const NtpSRTrack* srTrack = this->SRTrack(eventNum, trackNum);
00922 if (!srTrack){
00923 MSG("SRMom",Msg::kWarning)
00924 << "No NtpSRTrack number " << trackNum
00925 << " in event number " << eventNum << endl;
00926 return -999999.9;
00927 }
00928 return srTrack->end.x;
00929 }
|
|
|
Definition at line 957 of file SRMom.cxx. References NtpSRTrack::end, MSG, and NtpSRVertex::y. 00958 {
00959 if (!srTrack){
00960 MSG("SRMom",Msg::kWarning)
00961 << "Trying to find TrackEndY for a null track." << endl;
00962 return -999999.9;
00963 }
00964 return srTrack->end.y;
00965 }
|
|
||||||||||||
|
Definition at line 943 of file SRMom.cxx. References NtpSRTrack::end, MSG, SRTrack(), and NtpSRVertex::y. Referenced by TrackEndDistOuterTransEdge(). 00945 {
00946 const NtpSRTrack* srTrack = this->SRTrack(eventNum, trackNum);
00947 if (!srTrack){
00948 MSG("SRMom",Msg::kWarning)
00949 << "No NtpSRTrack number " << trackNum
00950 << " in event number " << eventNum << endl;
00951 return -999999.9;
00952 }
00953 return srTrack->end.y;
00954 }
|
|
||||||||||||
|
Definition at line 968 of file SRMom.cxx. References NtpSRTrack::end, MSG, SRTrack(), and NtpSRVertex::z. 00970 {
00971 const NtpSRTrack* srTrack = this->SRTrack(eventNum, trackNum);
00972 if (!srTrack){
00973 MSG("SRMom",Msg::kWarning)
00974 << "No NtpSRTrack number " << trackNum
00975 << " in event number " << eventNum << endl;
00976 return -999999.9;
00977 }
00978 return srTrack->end.z;
00979 }
|
|
||||||||||||
|
Definition at line 1011 of file SRMom.cxx. References NtpSRTrack::ds, MSG, and SRTrack(). Referenced by LongestTrackIndex(), and LongestTrackInEvent(). 01013 {
01014 const NtpSRTrack* srTrack = this->SRTrack(eventNum, trackNum);
01015 if (!srTrack){
01016 MSG("SRMom",Msg::kWarning)
01017 << "No NtpSRTrack number " << trackNum
01018 << " in event number " << eventNum << endl;
01019 return -1.0;
01020 }
01021 Float_t trackLength = srTrack->ds;
01022 return trackLength;
01023 }
|
|
|
Definition at line 1044 of file SRMom.cxx. References MSG, TrackEndPlane(), and TrackVtxPlane(). 01045 {
01046 if (!srTrack){
01047 MSG("SRMom",Msg::kWarning)
01048 << "No NtpSRTrack given to SRMom::TrkLthPln" << endl;
01049 return -1;
01050 }
01051 Int_t vtxPlane = TrackVtxPlane(srTrack);
01052 Int_t endPlane = TrackEndPlane(srTrack);
01053 if (-1 == endPlane || -1 == vtxPlane){return -1;}
01054 Int_t trackLength = endPlane - vtxPlane;
01055 return trackLength;
01056 }
|
|
||||||||||||
|
Definition at line 1026 of file SRMom.cxx. References MSG, SRTrack(), TrackEndPlane(), and TrackVtxPlane(). Referenced by MajorityCurvature::CurvatureComb(), MajorityCurvature::XCurvature(), MajorityCurvature::XCurvatureObject(), MajorityCurvature::YCurvature(), and MajorityCurvature::YCurvatureObject(). 01028 {
01029 const NtpSRTrack* srTrack = this->SRTrack(eventNum, trackNum);
01030 if (!srTrack){
01031 MSG("SRMom",Msg::kWarning)
01032 << "No NtpSRTrack number " << trackNum
01033 << " in event number " << eventNum << endl;
01034 return -1;
01035 }
01036 Int_t vtxPlane = TrackVtxPlane(srTrack);
01037 Int_t endPlane = TrackEndPlane(srTrack);
01038 if (-1 == endPlane || -1 == vtxPlane){return -1;}
01039 Int_t trackLength = endPlane - vtxPlane;
01040 return trackLength;
01041 }
|
|
||||||||||||
|
Definition at line 1103 of file SRMom.cxx. References MSG, NtpSRTrack::nstrip, and SRTrack(). 01105 {
01106 const NtpSRTrack* srTrack = this->SRTrack(eventNum, trackNum);
01107 if (!srTrack){
01108 MSG("SRMom",Msg::kWarning)
01109 << "No NtpSRTrack number " << trackNum
01110 << " in event number " << eventNum << endl;
01111 return -1;
01112 }
01113 return srTrack->nstrip;
01114 }
|
|
|
Definition at line 1145 of file SRMom.cxx. References MSG, NtpSRVertex::plane, and NtpSRTrack::vtx. 01146 {
01147 if (!srTrack){
01148 MSG("SRMom",Msg::kWarning)
01149 << "Trying to find TrackEndX for a null track." << endl;
01150 return -1;
01151 }
01152 return srTrack->vtx.plane;
01153 }
|
|
||||||||||||
|
Definition at line 1131 of file SRMom.cxx. References MSG, NtpSRVertex::plane, SRTrack(), and NtpSRTrack::vtx. Referenced by TrackLengthPlanes(). 01133 {
01134 const NtpSRTrack* srTrack = this->SRTrack(eventNum, trackNum);
01135 if (!srTrack){
01136 MSG("SRMom",Msg::kWarning)
01137 << "No NtpSRTrack number " << trackNum
01138 << " in event number " << eventNum << endl;
01139 return -1;
01140 }
01141 return srTrack->vtx.plane;
01142 }
|
|
|
Definition at line 1170 of file SRMom.cxx. References NtpSRTrack::momentum, MSG, and NtpSRMomentum::qp. 01171 {
01172 if (!srTrack){
01173 MSG("SRMom",Msg::kWarning)
01174 << "No NtpSRTrack given to SRMom::TrackVtxQOvP" << endl;
01175 return -999999.9;
01176 }
01177 return srTrack->momentum.qp;
01178 }
|
|
||||||||||||
|
Definition at line 1156 of file SRMom.cxx. References NtpSRTrack::momentum, MSG, NtpSRMomentum::qp, and SRTrack(). Referenced by MajorityCurvature::CurvatureImproved(). 01158 {
01159 const NtpSRTrack* srTrack = this->SRTrack(eventNum, trackNum);
01160 if (!srTrack){
01161 MSG("SRMom",Msg::kWarning)
01162 << "No NtpSRTrack number " << trackNum
01163 << " in event number " << eventNum << endl;
01164 return -999999.9;
01165 }
01166 return srTrack->momentum.qp;
01167 }
|
|
||||||||||||
|
Definition at line 1181 of file SRMom.cxx. References NtpSRMomentum::eqp, NtpSRTrack::momentum, MSG, and SRTrack(). 01183 {
01184 const NtpSRTrack* srTrack = this->SRTrack(eventNum, trackNum);
01185 if (!srTrack){
01186 MSG("SRMom",Msg::kWarning)
01187 << "No NtpSRTrack number " << trackNum
01188 << " in event number " << eventNum << endl;
01189 return -999999.9;
01190 }
01191 return srTrack->momentum.eqp;
01192 }
|
|
||||||||||||
|
Definition at line 1212 of file SRMom.cxx. References MSG, SRTrack(), NtpSRTrack::vtx, and NtpSRVertex::x. 01214 {
01215 const NtpSRTrack* srTrack = this->SRTrack(eventNum, trackNum);
01216 if (!srTrack){
01217 MSG("SRMom",Msg::kWarning)
01218 << "No NtpSRTrack number " << trackNum
01219 << " in event number " << eventNum << endl;
01220 return -999999.9;
01221 }
01222 return srTrack->vtx.x;
01223 }
|
|
||||||||||||
|
Definition at line 1226 of file SRMom.cxx. References MSG, SRTrack(), NtpSRTrack::vtx, and NtpSRVertex::y. 01228 {
01229 const NtpSRTrack* srTrack = this->SRTrack(eventNum, trackNum);
01230 if (!srTrack){
01231 MSG("SRMom",Msg::kWarning)
01232 << "No NtpSRTrack number " << trackNum
01233 << " in event number " << eventNum << endl;
01234 return -999999.9;
01235 }
01236 return srTrack->vtx.y;
01237 }
|
|
||||||||||||
|
Definition at line 1240 of file SRMom.cxx. References MSG, SRTrack(), NtpSRTrack::vtx, and NtpSRVertex::z. 01242 {
01243 const NtpSRTrack* srTrack = this->SRTrack(eventNum, trackNum);
01244 if (!srTrack){
01245 MSG("SRMom",Msg::kWarning)
01246 << "No NtpSRTrack number " << trackNum
01247 << " in event number " << eventNum << endl;
01248 return -999999.9;
01249 }
01250 return srTrack->vtx.z;
01251 }
|
|
||||||||||||
|
Definition at line 759 of file SRMom.cxx. References TrackEndDistOuterTransEdge(), and TrackEndDistZEnd(). Referenced by TrkEnergySimple(). 00761 {
00762 Float_t dOut = this->TrackEndDistOuterTransEdge(eventNum,trackNum);
00763 Float_t dz = this->TrackEndDistZEnd(eventNum,trackNum);
00764 if (dOut < -999990){return -1;}
00765 if (dz < -999990){return -1;}
00766 if (dOut < 0.2){return 0;}
00767 if (dz < 0.2){return 0;}
00768 return 1;
00769 /*
00770 //Will only work with newer versions of the code
00771 const NtpSRTrack* srTrack = this->SRTrack(eventNum, trackNum);
00772 if (!srTrack){
00773 MSG("SRMom",Msg::kWarning)
00774 << "No NtpSRTrack number " << trackNum
00775 << " in event number " << eventNum << endl;
00776 return -1;
00777 }
00778 return srTrack->contained;
00779 */
00780 }
|
|
||||||||||||
|
Definition at line 873 of file SRMom.cxx. References NtpSRTrack::end, MSG, SRTrack(), NtpSRVertex::x, and NtpSRVertex::y. 00875 {
00876 const NtpSRTrack* srTrack = this->SRTrack(eventNum, trackNum);
00877 if (!srTrack){
00878 MSG("SRMom",Msg::kWarning)
00879 << "No NtpSRTrack number " << trackNum
00880 << " in event number " << eventNum << endl;
00881 return -999999.9;
00882 }
00883 Float_t x = srTrack->end.x;
00884 Float_t y = srTrack->end.y;
00885 Float_t r = sqrt(x*x + y*y);
00886 return r;
00887 }
|
|
||||||||||||
|
Definition at line 982 of file SRMom.cxx. References TrkContained(), TrkMomCurv(), and TrkMomRange(). 00984 {
00985 //Simple function that uses the SR's opinion on containment.
00986 Int_t contained = this->TrkContained(eventNum,trackNum);
00987 if (-1.0 == contained){
00988 return -999999.9;
00989 }
00990 if (!contained){
00991 return this->TrkMomCurv(eventNum,trackNum);
00992 }
00993 return TrkMomRange(eventNum,trackNum);
00994 }
|
|
||||||||||||
|
Definition at line 997 of file SRMom.cxx. References NtpSRTrack::fit, MSG, NtpSRFitTrack::pass, and SRTrack(). 00999 {
01000 const NtpSRTrack* srTrack = this->SRTrack(eventNum, trackNum);
01001 if (!srTrack){
01002 MSG("SRMom",Msg::kWarning)
01003 << "No NtpSRTrack number " << trackNum
01004 << " in event number " << eventNum << endl;
01005 return -1;
01006 }
01007 return (Int_t) srTrack->fit.pass;
01008 }
|
|
||||||||||||
|
Definition at line 1059 of file SRMom.cxx. References NtpSRTrack::momentum, MSG, NtpSRMomentum::qp, and SRTrack(). Referenced by TrkEnergySimple(). 01061 {
01062 const NtpSRTrack* srTrack = this->SRTrack(eventNum, trackNum);
01063 if (!srTrack){
01064 MSG("SRMom",Msg::kWarning)
01065 << "No NtpSRTrack number " << trackNum
01066 << " in event number " << eventNum << endl;
01067 return -999999.9;
01068 }
01069 Float_t qOvp = srTrack->momentum.qp;
01070 if (!qOvp) return -999999.9;
01071 return fabs(1.0/qOvp);
01072 }
|
|
||||||||||||
|
Definition at line 1075 of file SRMom.cxx. References NtpSRTrack::momentum, MSG, NtpSRMomentum::range, and SRTrack(). Referenced by TrkEnergySimple(). 01077 {
01078 const NtpSRTrack* srTrack = this->SRTrack(eventNum, trackNum);
01079 if (!srTrack){
01080 MSG("SRMom",Msg::kWarning)
01081 << "No NtpSRTrack number " << trackNum
01082 << " in event number " << eventNum << endl;
01083 return -999999.9;
01084 }
01085 return srTrack->momentum.range;
01086 }
|
|
||||||||||||
|
Definition at line 1089 of file SRMom.cxx. References MSG, NtpSRPlane::n, NtpSRTrack::plane, and SRTrack(). 01091 {
01092 const NtpSRTrack* srTrack = this->SRTrack(eventNum, trackNum);
01093 if (!srTrack){
01094 MSG("SRMom",Msg::kWarning)
01095 << "No NtpSRTrack number " << trackNum
01096 << " in event number " << eventNum << endl;
01097 return -1;
01098 }
01099 return srTrack->plane.n;
01100 }
|
|
||||||||||||
|
Definition at line 1117 of file SRMom.cxx. References MSG, SRTrack(), and NtpSRTrack::vtx. 01119 {
01120 const NtpSRTrack* srTrack = this->SRTrack(eventNum, trackNum);
01121 if (!srTrack){
01122 MSG("SRMom",Msg::kWarning)
01123 << "No NtpSRTrack number " << trackNum
01124 << " in event number " << eventNum << endl;
01125 return 0;
01126 }
01127 return &(srTrack->vtx);
01128 }
|
|
||||||||||||
|
Definition at line 1195 of file SRMom.cxx. References MSG, SRTrack(), NtpSRTrack::vtx, NtpSRVertex::x, and NtpSRVertex::y. 01197 {
01198 const NtpSRTrack* srTrack = this->SRTrack(eventNum, trackNum);
01199 if (!srTrack){
01200 MSG("SRMom",Msg::kWarning)
01201 << "No NtpSRTrack number " << trackNum
01202 << " in event number " << eventNum << endl;
01203 return -999999.9;
01204 }
01205 Float_t x = srTrack->vtx.x;
01206 Float_t y = srTrack->vtx.y;
01207 Float_t r = sqrt(x*x + y*y);
01208 return r;
01209 }
|
|
|
Definition at line 1254 of file SRMom.cxx. References fstRecord, and RecRecordImp< T >::GetVldContext(). Referenced by Detector(). 01255 {
01256 if (!fstRecord){
01257 return 0;
01258 }
01259 return fstRecord->GetVldContext();
01260 }
|
|
|
Definition at line 178 of file SRMom.h. Referenced by SnarlPoT(), SRMom(), and ~SRMom(). |
|
|
|
|
|
Definition at line 176 of file SRMom.h. Referenced by SRMom(), TrackEndDistOuterTransEdge(), TrackEndDistZEnd(), and ~SRMom(). |
|
|
Definition at line 177 of file SRMom.h. Referenced by LISnarl(), NumEvents(), RunNumber(), SnarlNumber(), SREvent(), SRMom(), SRShower(), SRTrack(), VldCntxt(), and ~SRMom(). |
1.3.9.1