13 #include "FairRootManager.h"
14 #include "FairRunAna.h"
15 #include "FairRuntimeDb.h"
16 #include "FairGeoVector.h"
20 #include "TClonesArray.h"
21 #include "TGeoManager.h"
55 FairRootManager* ioman = FairRootManager::Instance();
59 std::cout <<
"-E- PndSciTHitProducerIdeal::Init: "
60 <<
"RootManager not instantiated!" << std::endl;
69 std::cout <<
"-W- PndSciTHitProducerIdeal::Init: "
70 <<
"No SciTPoint array!" << std::endl;
77 std::cout <<
"-I- PndSciTHitProducerIdeal: Intialisation successfull" << std::endl;
88 std::cout <<
"ScitTil fGeoH is loading" << std::endl;
91 else std::cout <<
"ScitTil fGeoH is already defind but shouldn't" << std::endl;
93 std::cout <<
"ScitTil fGeoH was loaded but is still NULL" << std::endl;
106 Fatal(
"Exec",
"No HitArray");
118 TVector3 zeroVector(0,0,0);
120 TVector3 detectorPosition;
121 TVector3 hitPosition;
123 TVector3 dHitPosition;
129 for (Int_t iPoint = 0; iPoint < nPoints; iPoint++)
132 if (
fVerbose>0) std::cout <<
" Ideal Hit Producer -Point-: " << point << std::endl;
137 detectorID = point->GetDetectorID();
143 hitPosition = detectorPosition;
150 dHitPosition = sensorDim*2*(1/
sqrt(12));
155 time = point->GetTime();
159 new ((*fHitArray)[iPoint])
PndSciTHit(detectorID, detectorName,
160 time+FairRootManager::Instance()->GetEventTime(),
fdt,
162 hitPosition,dHitPosition,
164 point->GetEnergyLoss());
169 if (
fVerbose>1) std::cout <<
"-I- PndSciTHitProducerIdeal: " << nPoints <<
" SciTPoints, "
170 << nPoints <<
" Hits created." << std::endl;
183 sigt=gRandom->Gaus(0,dt);
PndSciTHitProducerIdeal()
friend F32vec4 sqrt(const F32vec4 &a)
virtual void SetParContainers()
void SetPersistency(Bool_t val=kTRUE)
virtual void SetParContainers()
TVector3 GetSensorDimensionsShortId(Int_t shortId)
virtual InitStatus Init()
TClonesArray * fPointArray
virtual void Exec(Option_t *opt)
static PndGeoHandling * Instance()
~PndSciTHitProducerIdeal()
TVector3 LocalToMasterShortId(const TVector3 &local, const Int_t &shortId)
TString GetDetName() const
void smear(Double_t &time, Double_t &dt)