Double_t vphi = TMath::ATan2(iparticle->Vy(), iparticle->Vx());
Double_t vrho = TMath::Hypot(iparticle->Vx(), iparticle->Vy());
- origin[0] = origin0[0]+vrho*TMath::Cos(vphi + evrot);
- origin[1] = origin0[1]+vrho*TMath::Sin(vphi + evrot);
- origin[2] = origin0[2]+iparticle->Vz();
+ origin[0] = vrho*TMath::Cos(vphi + evrot);
+ origin[1] = vrho*TMath::Sin(vphi + evrot);
+ origin[2] = iparticle->Vz();
imo = -1;
TParticle* mother = 0;
if (hasMother) {
imo = iparticle->GetFirstMother();
- mother = (TParticle *) fParticles->At(imo);
+ mother = (TParticle *) fParticles.At(imo);
} // if has mother
Bool_t tFlag = (!hasDaughter);
printf("Pushing Track %d with status %d mother %d\n", kf, tFlag, imo);
PushTrack(tFlag,imo,kf,
p[0],p[1],p[2],energy,
- origin[0],origin[1],origin[2],iparticle->T()*0.197327*1e-13/300000000,
+ origin[0],origin[1],origin[2],iparticle->T(),
polar[0],polar[1],polar[2],
hasMother ? kPDecay:kPNoProcess,nt);
fNprimaries++;
TParticle* mother = 0;
if (hasMother) {
imo = iparticle->GetFirstMother();
- mother = (TParticle *) fParticles->At(imo);
+ mother = (TParticle *) fParticles.At(imo);
} // if has mother
Bool_t tFlag = (hasDaughter);
printf("Pushing Track %d with status %d mother %d\n", kf, tFlag, imo);
PushTrack(tFlag,imo,kf,
p[0],p[1],p[2],energy,
- origin[0],origin[1],origin[2],iparticle->T()*0.197327*1e-13/300000000,
+ origin[0],origin[1],origin[2],iparticle->T(),
polar[0],polar[1],polar[2],
hasMother ? kPDecay:kPNoProcess,nt);
fNprimaries++;
origin[2] = origin0[2]+iparticle->Vz();
imo = nt;
- mother = (TParticle *) fParticles->At(nt);
+ mother = (TParticle *) fParticles.At(nt);
tFlag = (!hasDaughter);
printf("Pushing Track %d with status %d mother %d\n", kf, tFlag, imo);
PushTrack(tFlag,imo,kf,
p[0],p[1],p[2],energy,
- origin[0],origin[1],origin[2],iparticle->T()*0.197327*1e-13/300000000,
+ origin[0],origin[1],origin[2],iparticle->T(),
polar[0],polar[1],polar[2],
hasMother ? kPDecay:kPNoProcess,nt);
fNprimaries++;
Int_t TTherminator::ImportParticles(TClonesArray *particles, Option_t */*option*/)
{
// Import particles from a generated event into an external array
+ const double kFmToGev = 0.197327;
+
if (particles == 0) return 0;
TClonesArray &particlesR = *particles;
particlesR.Clear();
new (particlesR[iPart]) TParticle(tPart->GetParticleType()->GetPDGCode(), tPart->HadDecayed(),
tFather, -1, -1, -1,
tPart->px, tPart->py, tPart->pz, tPart->GetEnergy() ,
- tPart->rx*1.e-13, tPart->ry*1.e-13, tPart->rz*1.e-13, tPart->rt*1.e-13/300000000
- );
+ tPart->rx*1.e-13*kFmToGev, tPart->ry*1.e-13*kFmToGev, tPart->rz*1.e-13*kFmToGev, tPart->rt*1.e-13*kFmToGev/3e10);
particlesR[iPart]->SetUniqueID(iPart);
}
TObjArray* TTherminator::ImportParticles(Option_t */*option*/)
{
// Import generated particles into an internal array
+ const double kFmToGev = 0.197327;
+
Int_t nump = 0;
fParticles->Clear();
if (!fEvent) return 0;
TParticle* p = new TParticle(tPart->GetParticleType()->GetPDGCode(), tPart->HadDecayed(),
tFather, -1, -1, -1,
tPart->px, tPart->py, tPart->pz, tPart->GetEnergy() ,
- tPart->rx*1.e-13, tPart->ry*1.e-13, tPart->rz*1.e-13, tPart->rt*1.e-13/300000000
- );
+ tPart->rx*1.e-13*kFmToGev, tPart->ry*1.e-13*kFmToGev, tPart->rz*1.e-13*kFmToGev, tPart->rt*1.e-13*kFmToGev/3e10);
p->SetUniqueID(iPart);
fParticles->Add(p);
}