]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
Time info in hits
authorcoppedis <coppedis@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 21 Jan 2009 17:26:43 +0000 (17:26 +0000)
committercoppedis <coppedis@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 21 Jan 2009 17:26:43 +0000 (17:26 +0000)
ZDC/AliZDC.cxx
ZDC/AliZDCHit.cxx
ZDC/AliZDCHit.h
ZDC/AliZDCv3.cxx

index 05c563091201e7856202662179f60d45f14d8eee..ccf5f1687594ac0bb1451ba51c34c6f7a3c1059c 100644 (file)
@@ -142,7 +142,7 @@ void AliZDC::AddHit(Int_t track, Int_t *vol, Float_t *hits)
   //
   //           Add a ZDC hit to the hit list.
   
-  static Float_t primKinEn=0., xImpact=0., yImpact=0., sFlag=0.;
+  static Float_t trackTime=0., primKinEn=0., xImpact=0., yImpact=0., sFlag=0.;
   static Int_t   pcPDGcode;
 
   AliZDCHit *newquad, *curprimquad;
@@ -164,6 +164,7 @@ void AliZDC::AddHit(Int_t track, Int_t *vol, Float_t *hits)
       xImpact  = newquad->GetXImpact();
       yImpact  = newquad->GetYImpact();
       pcPDGcode        = newquad->GetPDGCode();
+      trackTime = newquad->GetTrackTOF();
    }
    else{       
       newquad->SetPrimKinEn(primKinEn);
@@ -171,6 +172,7 @@ void AliZDC::AddHit(Int_t track, Int_t *vol, Float_t *hits)
       newquad->SetYImpact(yImpact);
       newquad->SetSFlag(sFlag);
       newquad->SetPDGCode(pcPDGcode);
+      newquad->SetTrackTOF(trackTime);
    }
  
   Int_t j;
index 95875ba0a6869bbb3282e51b292f3165bea95a7b..9a66f9dfbcde65fede49ffc717163e724f9b13bc 100644 (file)
@@ -35,7 +35,8 @@ AliZDCHit::AliZDCHit() :
   fLightPMQ(0.),
   fLightPMC(0.),
   fEnergy(0.), 
-  fPDGCode(0)
+  fPDGCode(0),
+  fTrackTOF(0.)
 
 {
   //
@@ -54,7 +55,8 @@ AliZDCHit::AliZDCHit(Int_t shunt, Int_t track, Int_t *vol, Float_t *hits) :
   fLightPMQ(hits[7]),
   fLightPMC(hits[8]),
   fEnergy(hits[9]), 
-  fPDGCode((Int_t) hits[10])
+  fPDGCode((Int_t) hits[10]),
+  fTrackTOF(hits[11])
 
 {
   //
@@ -77,7 +79,8 @@ AliZDCHit::AliZDCHit(const AliZDCHit &oldhit) :
   fLightPMQ(oldhit.GetLightPMQ()), 
   fLightPMC(oldhit.GetLightPMC()),
   fEnergy(oldhit.GetEnergy()),
-  fPDGCode(oldhit.GetPDGCode())
+  fPDGCode(oldhit.GetPDGCode()),
+  fTrackTOF(oldhit.GetTrackTOF())
 {
   // Copy constructor
   fX = oldhit.X();
@@ -91,9 +94,10 @@ AliZDCHit::AliZDCHit(const AliZDCHit &oldhit) :
 void AliZDCHit::Print(Option_t *) const 
 {
    // Print method
-   printf("\t ZDC HIT: det =  %d tow =  %d track %d pcPDGcode %d\n" 
-         "\t  Primary E = %f, Ximpact = %f, Yimpact = %f, SFlag = %f\n"
-          "\t  PMQLight = %f, PMCLight = %f,  Deposited E = %f\n ", 
-          fVolume[0],fVolume[1],fTrack,fPDGCode,fPrimKinEn,fXImpact,fYImpact,
-          fSFlag,fLightPMQ,fLightPMC,fEnergy);
+   printf("\t AliZDCHit: track %d PDGcode %d TOF %f ns E_prim = %f GeV SFlag = %1.0f\n" 
+         "\t det =  %d tow =  %d  (X, Y)impact (%f, %f) cm\n"
+          "\t PMQLight %1.0f, PMCLight %1.0f,  E_dep %f\n ", 
+          fTrack,fPDGCode,fTrackTOF,fPrimKinEn,fSFlag,
+         fVolume[0],fVolume[1],fXImpact,fYImpact,
+          fLightPMQ,fLightPMC,fEnergy);
 }
index 915cb0d3dfb71dfdad1bf5d125ae3584fa294541..b8cde635e1053ccb81a46da5acc9f4c34403eee5 100644 (file)
@@ -28,6 +28,7 @@ public:
   virtual Float_t GetLightPMQ() const      {return fLightPMQ;}
   virtual Float_t GetLightPMC() const      {return fLightPMC;}
   virtual Float_t GetEnergy() const        {return fEnergy;}
+  virtual Float_t GetTrackTOF() const      {return fTrackTOF;}
 
   // Setters 
   virtual void SetVolume(Int_t i, Int_t val) {fVolume[i]=val;} 
@@ -38,6 +39,7 @@ public:
   virtual void SetPrimKinEn(Float_t value){fPrimKinEn=value;}
   virtual void SetXImpact(Float_t value)  {fXImpact=value;}
   virtual void SetYImpact(Float_t value)  {fYImpact=value;}
+  virtual void SetTrackTOF(Float_t value) {fTrackTOF=value;}
 
   // Operators
   Int_t operator == (AliZDCHit &quad){
@@ -59,18 +61,18 @@ public:
 
 protected:
   // Data members
-  Int_t      fVolume[2];    //Array of volumes
-  Float_t    fPrimKinEn;    //Primary particle energy
-  Float_t    fXImpact;      //x-coord. of the impact point over the ZDC
-  Float_t    fYImpact;      //y-coord. of the impact point over the ZDC
-  Float_t    fSFlag;        //Secondary flag
-  Float_t    fLightPMQ;     //Cerenkov light produced in each quadrant
-  Float_t    fLightPMC;     //Cerenkov light seen by the common PM
-  Float_t    fEnergy;       //Total energy deposited in eV
-  Int_t      fPDGCode;     //PDG code of particle in the ZDC
+  Int_t   fVolume[2]; //Array of volumes
+  Float_t fPrimKinEn; //Primary particle energy
+  Float_t fXImpact;   //x-coord. of the impact point over the ZDC
+  Float_t fYImpact;   //y-coord. of the impact point over the ZDC
+  Float_t fSFlag;     //Secondary flag
+  Float_t fLightPMQ;  //Cerenkov light produced in each quadrant
+  Float_t fLightPMC;  //Cerenkov light seen by the common PM
+  Float_t fEnergy;    //Total energy deposited in eV
+  Int_t   fPDGCode;   //PDG code of particle in the ZDC
+  Float_t fTrackTOF;  //Track time
 
-  ClassDef(AliZDCHit,2)  // Hits for the Zero Degree Calorimeters
+  ClassDef(AliZDCHit,3)  // Hits for the Zero Degree Calorimeters
 };
  
 #endif
index c704f4b32f818128f53fc39beeed7574cf9b9fe5..913e15751d61d7ace9e3fb5243023d063264c2ff 100644 (file)
@@ -2169,7 +2169,7 @@ void AliZDCv3::StepManager()
   // 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[11], x[3], xdet[3], um[3], ud[3];
+  Float_t hits[12], x[3], xdet[3], um[3], ud[3];
   Float_t m=0., ekin=0., destep=0., be=0., out=0.;
   // Parametrization for light guide uniformity
   // NEW!!! Light guide tilted @ 51 degrees
@@ -2177,7 +2177,7 @@ void AliZDCv3::StepManager()
   Double_t s[3], p[3];
   const char *knamed;
   //
-  for(j=0;j<11;j++) hits[j]=-999.;
+  for(j=0;j<12;j++) hits[j]=-999.;
   //
   // --- This part is for no shower developement in beam pipe and TDI
   // If particle interacts with beam pipe or TDI -> return
@@ -2373,7 +2373,10 @@ void AliZDCv3::StepManager()
         TParticle *part = (gAlice->GetMCApp())->Particle(curTrackN);
        hits[10] = part->GetPdgCode();
        //printf("\t PDGCode = %d\n", part->GetPdgCode());
-
+        //
+       hits[11] = 1.0e09*gMC->TrackTime();
+       //printf("\t TrackTime = %f\n", hits[11]);
+        
        AddHit(curTrackN, vol, hits);
        
        if(fNoShower==1){