//
// Add a ZDC hit to the hit list.
- static Float_t trackTime=0., primKinEn=0., xImpact=0., yImpact=0., sFlag=0.;
+ static Float_t trackTime=0., trackEta=0., primKinEn=0., xImpact=0., yImpact=0., sFlag=0.;
static Int_t pcPDGcode, motPDGcode;
AliZDCHit *newquad, *curprimquad;
pcPDGcode = newquad->GetPDGCode();
motPDGcode = newquad->GetMotherPDGCode();
trackTime = newquad->GetTrackTOF();
+ trackEta = newquad->GetTrackEta();
}
else{
newquad->SetPrimKinEn(primKinEn);
newquad->SetPDGCode(pcPDGcode);
newquad->SetMotherPDGCode(motPDGcode);
newquad->SetTrackTOF(trackTime);
+ newquad->SetTrackEta(trackEta);
}
Int_t j;
fEnergy(0.),
fPDGCode(0),
fMotherPDGCode(0),
- fTrackTOF(0.)
+ fTrackTOF(0.),
+ fTrackEta(0.)
{
//
fEnergy(hits[9]),
fPDGCode((Int_t) hits[10]),
fMotherPDGCode((Int_t) hits[11]),
- fTrackTOF(hits[12])
+ fTrackTOF(hits[12]),
+ fTrackEta(hits[13])
{
//
fEnergy(oldhit.GetEnergy()),
fPDGCode(oldhit.GetPDGCode()),
fMotherPDGCode(oldhit.GetMotherPDGCode()),
- fTrackTOF(oldhit.GetTrackTOF())
+ fTrackTOF(oldhit.GetTrackTOF()),
+ fTrackEta(oldhit.GetTrackEta())
{
// Copy constructor
fX = oldhit.X();
fPDGCode = hit.GetPDGCode();
fMotherPDGCode = hit.GetMotherPDGCode();
fTrackTOF = hit.GetTrackTOF();
+ fTrackEta = hit.GetTrackEta();
fX = hit.X();
fY = hit.Y();
void AliZDCHit::Print(Option_t *) const
{
// Print method
- printf("\t AliZDCHit: track %d PDGcode %d TOF %1.1f ns E_prim = %1.2f GeV SFlag = %1.0f\n"
+ printf("\t AliZDCHit: track %d eta %f PDGcode %d TOF %1.1f ns E_prim = %1.2f GeV \n"
"\t DETECTOR (%d, %d) (X, Y)_impact (%f, %f) cm\n"
"\t PMQLight %1.0f, PMCLight %1.0f, E_dep %1.2f\n ",
- fTrack,fPDGCode,fTrackTOF,fPrimKinEn,fSFlag,
+ fTrack,fTrackEta,fPDGCode,fTrackTOF,fPrimKinEn,
fVolume[0],fVolume[1],fXImpact,fYImpact,
fLightPMQ,fLightPMC,fEnergy);
}
virtual Float_t GetLightPMC() const {return fLightPMC;}
virtual Float_t GetEnergy() const {return fEnergy;}
virtual Float_t GetTrackTOF() const {return fTrackTOF;}
+ virtual Float_t GetTrackEta() const {return fTrackEta;}
// Setters
virtual void SetVolume(Int_t i, Int_t val) {fVolume[i]=val;}
virtual void SetXImpact(Float_t value) {fXImpact=value;}
virtual void SetYImpact(Float_t value) {fYImpact=value;}
virtual void SetTrackTOF(Float_t value) {fTrackTOF=value;}
+ virtual void SetTrackEta(Float_t value) {fTrackEta=value;}
// Operators
Int_t operator == (AliZDCHit &quad){
Int_t fPDGCode; //PDG code of particle in the ZDC
Int_t fMotherPDGCode; //PDG code of particle in the ZDC
Float_t fTrackTOF; //Track time in ns
+ Float_t fTrackEta; //Track eta
- ClassDef(AliZDCHit,4) // Hits for the Zero Degree Calorimeters
+ ClassDef(AliZDCHit,5) // Hits for the Zero Degree Calorimeters
};
#endif
// Routine called at every step in the Zero Degree Calorimeters
//
Int_t j, vol[2]={0,0}, ibeta=0, ialfa=0, ibe=0, nphe=0;
- Float_t hits[13], x[3], xdet[3]={999.,999.,999.}, um[3], ud[3];
+ Float_t hits[14], x[3], xdet[3]={999.,999.,999.}, um[3], ud[3];
Float_t destep=0., be=0., out=0.;
Double_t s[3], p[4];
const char *knamed;
//
- for(j=0;j<13;j++) hits[j]=-999.;
+ for(j=0;j<14;j++) hits[j]=-999.;
//
// --- This part is for no shower developement in beam pipe, TDI, VColl
// If particle interacts with beam pipe, TDI, VColl -> return
//
hits[12] = 1.0e09*gMC->TrackTime(); // in ns!
//printf("\t TrackTime = %f\n", hits[12]);
+ hits[13] = part->Eta();
AddHit(curTrackN, vol, hits);
// Routine called at every step in the Zero Degree Calorimeters
//
Int_t j, vol[2]={0,0}, ibeta=0, ialfa=0, ibe=0, nphe=0;
- Float_t hits[13], x[3], xdet[3]={999.,999.,999.}, um[3], ud[3];
+ Float_t hits[14], x[3], xdet[3]={999.,999.,999.}, um[3], ud[3];
Float_t destep=0., be=0., out=0.;
Double_t s[3], p[4];
const char *knamed;
//
- for(j=0;j<13;j++) hits[j]=-999.;
+ for(j=0;j<14;j++) hits[j]=-999.;
//
// --- This part is for no shower developement in beam pipe, TDI, VColl
// If particle interacts with beam pipe, TDI, VColl -> return
//
hits[12] = 1.0e09*gMC->TrackTime(); // in ns!
//printf("\t TrackTime = %f\n", hits[12]);
+ hits[13] = part->Eta();
AddHit(curTrackN, vol, hits);