13 #include "FairRootManager.h"
19 #include "FairRunAna.h"
20 #include "FairRuntimeDb.h"
21 #include "FairBaseParSet.h"
22 #include "FairGeoVolume.h"
24 #include "FairGeoTransform.h"
25 #include "FairGeoVector.h"
26 #include "FairGeoMedium.h"
27 #include "FairGeoNode.h"
31 #include "TGeoMatrix.h"
32 #include "TParticlePDG.h"
33 #include "TDatabasePDG.h"
35 #include "TGeoManager.h"
71 cout <<
" ---------- INITIALIZATION ------------" << endl;
74 FairRootManager* ioman = FairRootManager::Instance();
76 cout <<
"-E- PndDrcHitProducerIdeal::Init: "
77 <<
"RootManager not instantiated!" << endl;
84 cout <<
"-W- PndDrcHitProducerIdeal::Init: "
85 <<
"No DrcBarPoint array!" << endl;
90 fHitArray =
new TClonesArray(
"PndDrcHit");
93 cout <<
"-I- PndDrcHitProducerIdeal: Intialization successfull" << endl;
104 if ( !
fHitArray ) Fatal(
"Exec",
"No HitArray");
112 cout <<
" ----------------- DRC Hit Producer --------------------" << endl;
113 cout <<
" Number of input MC points in the bar: "<<
fBarPointArray->GetEntries()<<endl;
137 if (
fVerbose >0) cout <<
"Beta not calculated " << endl;
140 if (pt->
GetThetaC() != -1. && beta > 1/1.47){
144 gGeoManager->FindNode(pt->GetX(), pt->GetY(), pt->GetZ());
145 TGeoMatrix *dircMat = (TGeoMatrix*)
gGeoManager->GetCurrentMatrix();
146 const Double_t *dircPos = dircMat->GetTranslation();
147 fPosHit.SetXYZ(dircPos[0], dircPos[1], dircPos[2]);
152 fDPosHit.SetXYZ(fDPosXHit,fDPosYHit,fDPosZHit);
183 Int_t size = clref.GetEntriesFast();
200 cout <<
"-I- PndDrcHitProducerIdeal: Finish" << endl;
printf("RealTime=%f seconds, CpuTime=%f seconds\n", rtime, ctime)
friend F32vec4 sqrt(const F32vec4 &a)
static T Sqrt(const T &x)
TGeoManager * gGeoManager
Double_t GetThetaC() const
TString pt(TString pts, TString exts="px py pz")
PndDrcHit * AddHit(Int_t detID, Int_t sensorID, TVector3 posHit, TVector3 dPosHit, Double_t thetaC, Double_t errThetaC, Int_t index)
virtual InitStatus Init()
virtual void Exec(Option_t *option)
virtual ~PndDrcHitProducerIdeal()
TClonesArray * fBarPointArray