50 if (gMC->IsTrackEntering()) {
52 fTime = gMC->TrackTime() * 1.0e09;
53 fLength = gMC->TrackLength();
54 gMC->TrackPosition(fPos);
55 gMC->TrackMomentum(fMom);
59 fELoss += gMC->Edep();
62 if (fELoss > 0 && (gMC->IsTrackExiting() || gMC->IsTrackStop() || gMC->IsTrackDisappeared())) {
63 Int_t fTrackID = gMC->GetStack()->GetCurrentTrackNumber();
64 assert(fTrackID >= 0);
67 gMC->CurrentVolOffID(0, strip);
72 AddPoint(fTrackID,
kTOF1, TVector3(fPos.X(), fPos.Y(), fPos.Z()), TVector3(fMom.Px(), fMom.Py(), fMom.Pz()),
73 fTime, fLength, fELoss, fVolumeID);
127 Int_t nEntries = cl1->GetEntriesFast();
129 TClonesArray& clref = *cl2;
132 for (Int_t
i = 0;
i < nEntries;
i++) {
134 Int_t index = oldpoint->GetTrackID() + offset;
135 oldpoint->SetTrackID(index);
140 cout <<
" -I- BmnTOF400: " << cl2->GetEntriesFast() <<
" merged entries." << endl;
160 FairGeoLoader* geoLoad = FairGeoLoader::Instance();
161 FairGeoInterface* geoFace = geoLoad->getGeoInterface();
163 TOF1Geo->setGeomFile(GetGeometryFileName());
164 geoFace->addGeoModule(TOF1Geo);
166 Bool_t rc = geoFace->readSet(TOF1Geo);
168 TOF1Geo->create(geoLoad->getGeoBuilder());
169 TList* volList = TOF1Geo->getListOfVolumes();
172 FairRun* fRun = FairRun::Instance();
173 FairRuntimeDb* rtdb = FairRun::Instance()->GetRuntimeDb();
178 TListIter iter(volList);
179 FairGeoNode* node =
nullptr;
180 FairGeoVolume* aVol =
nullptr;
182 while ((node = (FairGeoNode*)iter.Next())) {
183 aVol =
dynamic_cast<FairGeoVolume*
>(node);
185 if (node->isSensitive())
186 fSensNodes->AddLast(aVol);
188 fPassNodes->AddLast(aVol);
192 par->setInputVersion(fRun->GetRunId(), 1);
193 ProcessNodes(volList);
BmnTOF1Point * AddPoint(Int_t trackID, Int_t detID, TVector3 pos, TVector3 mom, Double_t tof, Double_t length, Double_t eLoss, Int_t volUID)