63 if ( gMC->IsTrackEntering() ) {
65 fTime = gMC->TrackTime() * 1.0e09;
67 gMC->TrackPosition(
fPos);
68 gMC->TrackMomentum(
fMom);
74 if ( gMC->IsTrackExiting() ||
76 gMC->IsTrackDisappeared() ) {
77 if (
fELoss == 0. ) {
return kFALSE; }
82 new (clref[0])
vetoPoint(0, 0, TVector3(0, 0, 0), TVector3(0, 0, 0),
83 0, 0,
fTotalEloss, 0,TVector3(0, 0, 0), TVector3(0, 0, 0));
86 fTrackID = gMC->GetStack()->GetCurrentTrackNumber();
89 gMC->CurrentVolID(veto_uniqueId);
91 TParticle* p=gMC->GetStack()->GetCurrentTrack();
92 Int_t pdgCode = p->GetPdgCode();
94 gMC->TrackPosition(Pos);
96 gMC->TrackMomentum(Mom);
97 Double_t xmean = (
fPos.X()+Pos.X())/2. ;
98 Double_t ymean = (
fPos.Y()+Pos.Y())/2. ;
99 Double_t zmean = (
fPos.Z()+Pos.Z())/2. ;
103 fELoss,pdgCode,TVector3(Pos.X(), Pos.Y(), Pos.Z()),TVector3(Mom.Px(), Mom.Py(), Mom.Pz()) );
107 stack->AddPoint(
kVETO);
130 static FairGeoLoader *geoLoad=FairGeoLoader::Instance();
131 static FairGeoInterface *geoFace=geoLoad->getGeoInterface();
132 static FairGeoMedia *media=geoFace->getMedia();
133 static FairGeoBuilder *geoBuild=geoLoad->getGeoBuilder();
135 FairGeoMedium *ShipMedium=media->getMedium(
fMaterial);
136 TGeoMedium* mat=gGeoManager->GetMedium(
fMaterial);
138 geoBuild->createMedium(ShipMedium);
140 TGeoVolume *top=gGeoManager->GetTopVolume();
141 TGeoVolume *target = gGeoManager->MakeBox(
"target",mat,10.*100.,10.*100.,
fThick);
142 top->AddNode(target, 1,
new TGeoTranslation(0, 0,
fzPos));
143 AddSensitiveVolume(target);
147 TVector3 pos, TVector3 mom,
148 Double_t time, Double_t length,
149 Double_t eLoss, Int_t pdgCode,TVector3 Lpos, TVector3 Lmom)
152 Int_t size = clref.GetEntriesFast();
153 return new(clref[size])
vetoPoint(trackID, detID, pos, mom,
154 time, length, eLoss, pdgCode,Lpos,Lmom);
vetoPoint * AddHit(Int_t trackID, Int_t detID, TVector3 pos, TVector3 mom, Double_t time, Double_t length, Double_t eLoss, Int_t pdgcode, TVector3 Lpos, TVector3 Lmom)