FairRoot/PandaRoot
Functions
PndTrackingQualityBarrelTaskNewLinks.cxx File Reference
#include <iostream>
#include <functional>
#include "TROOT.h"
#include "TClonesArray.h"
#include "THStack.h"
#include "FairRootManager.h"
#include "FairRun.h"
#include "FairRuntimeDb.h"
#include "FairHit.h"
#include "FairMultiLinkedData.h"
#include "PndMCTrack.h"
#include "PndTrack.h"
#include "PndMCEntry.h"
#include "PndSttHit.h"
#include "PndSttTube.h"
#include "PndSttMapCreator.h"
#include "RhoHistogram/RhoTuple.h"
#include "PndTrackingQualityBarrelTaskNewLinks.h"
#include "PndTrackingQualityBarrelAnalysisNewLinks.h"
#include "PndSdsHit.h"
#include "TGeoManager.h"
#include "PndGeoHandling.h"

Go to the source code of this file.

Functions

Bool_t IsBarrelMVD (const PndSdsHit *hit)
 
 ClassImp (PndTrackingQualityBarrelTaskNewLinks)
 

Function Documentation

Bool_t IsBarrelMVD ( const PndSdsHit hit)

Definition at line 424 of file PndTrackingQualityBarrelTaskNewLinks.cxx.

References Double_t, exit(), fabs(), PndSdsHit::GetSensorID(), gGeoManager, and PndGeoHandling::Instance().

425 {
426  if(!hit) return 0;
427  Int_t sensorID = hit->GetSensorID();
428  gGeoManager->cd(PndGeoHandling::Instance()->GetPath(sensorID));
429  TGeoHMatrix* transMat = gGeoManager->GetCurrentMatrix();
430  if( !transMat ){
431  std::cout<<"\n\nIsBarrelMVD():: NO transition Matrix for MVD sensor "<<sensorID<<"\n\n!!!"<<std::endl;
432  return 0;
433  }
434  Double_t *mmm = transMat->GetRotationMatrix();
435  if( !mmm ){
436  std::cout<<"\n\nIsBarrelMVD():: Can not extract transition Matrix for MVD sensor "<<sensorID<<", something is completely wrong\n\n!!!"<<std::endl;
437  exit(0);//SG!!
438  return 0;
439  }
440  bool forward = ( fabs(mmm[6]) < 0.999 && fabs(mmm[7]) < 0.999 );
441  return ( !forward );
442 }
exit(0)
TGeoManager * gGeoManager
Double_t
friend F32vec4 fabs(const F32vec4 &a)
Definition: P4_F32vec4.h:47
static PndGeoHandling * Instance()
Int_t GetSensorID() const
Definition: PndSdsHit.h:90