// Hits class for PHOS
// A hit in PHOS is the sum of all hits in a single crystal
//*--
-//*-- Author: Maxime Volkov (RRC KI) & Yves Schutz (SUBATECH)
+//*-- Author: Maxime Volkov (RRC KI) & Yves Schutz (SUBATECH) & Dmitri Peressounko (RRC KI & SUBATECH)
// --- ROOT system ---
+#include "TVector3.h"
// --- Standard library ---
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <strstream.h>
// --- AliRoot header files ---
#include "AliPHOSHit.h"
#include "AliRun.h"
-#include "AliConst.h"
-#include "AliPHOSGetter.h"
-#include "AliPHOSGeometry.h"
#include "AliPHOS.h"
-
-
+#include "AliPHOSGeometry.h"
ClassImp(AliPHOSHit)
-
-//____________________________________________________________________________
-AliPHOSHit::AliPHOSHit(const AliPHOSHit & hit)
+
+ //____________________________________________________________________________
+ AliPHOSHit::AliPHOSHit(const AliPHOSHit & hit)
{
- // copy ctor
-
+ // copy ctor
fX = hit.fX ;
fY = hit.fY ;
fZ = hit.fZ ;
fELOS = hit.fELOS ;
fPrimary = hit.fPrimary ;
fTrack = hit.fTrack ;
-
-
+ fTime = hit.fTime ;
+
}
//____________________________________________________________________________
//
// Create a CPV hit object
//
-
- fId = id ;
+
fX = hits[0] ;
fY = hits[1] ;
fZ = hits[2] ;
- fELOS = hits[3] ;
+ fTime = hits[3] ;
+ fId = id ;
+ fELOS = hits[4] ;
fPrimary = primary ;
}
-
//____________________________________________________________________________
Float_t AliPHOSHit::X() const
{
+ // if(fX < -1000.){
TVector3 pos ;
AliPHOS * phos = static_cast<AliPHOS*> (gAlice->GetDetector("PHOS")) ;
phos->GetGeometry() ->RelPosInAlice(GetId(), pos) ;
return pos.X() ;
+ // fX = pos.X() ;
+ // fY = pos.Y() ;
+ // fZ = pos.Z() ;
+ // }
+ // return fX;
}
-
//____________________________________________________________________________
Float_t AliPHOSHit::Y() const
{
+ // if(fY < -1000.){
TVector3 pos ;
AliPHOS * phos = static_cast<AliPHOS*> (gAlice->GetDetector("PHOS")) ;
phos->GetGeometry() ->RelPosInAlice(GetId(), pos) ;
- return pos.Y() ;
+ return pos.Y();
+ // fX = pos.X() ;
+ // fY = pos.Y() ;
+ // fZ = pos.Z() ;
+ // }
+ // return fY;
}
//____________________________________________________________________________
Float_t AliPHOSHit::Z() const
{
+ // if(fY < -1000.){
TVector3 pos ;
AliPHOS * phos = static_cast<AliPHOS*> (gAlice->GetDetector("PHOS")) ;
phos->GetGeometry() ->RelPosInAlice(GetId(), pos) ;
return pos.Z() ;
+ // fX = pos.X() ;
+ // fY = pos.Y() ;
+ // fZ = pos.Z() ;
+ // }
+ // return fZ;
}
-
//____________________________________________________________________________
Bool_t AliPHOSHit::operator==(AliPHOSHit const &rValue) const
{
// Add the energy of the hit
fELOS += rValue.GetEnergy() ;
+
+ if(rValue.GetTime() < fTime)
+ fTime = rValue.GetTime() ;
return *this;
{
// Print out Id and energy
- out << "AliPHOSHit = " << hit.GetId() << " " << hit.GetEnergy() << endl ;
+ //out << "AliPHOSHit = " << hit.GetId() << " " << hit.GetEnergy() << " " << hit.GetTime() << endl ;
+ Warning("operator <<", "Implement differently") ;
return out ;
}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+