ClassImp(AliTrackPointArray)
//______________________________________________________________________________
-AliTrackPointArray::AliTrackPointArray()
+AliTrackPointArray::AliTrackPointArray() :
+ TObject(),
+ fNPoints(0),
+ fX(0),
+ fY(0),
+ fZ(0),
+ fSize(0),
+ fCov(0),
+ fVolumeID(0)
{
- fNPoints = fSize = 0;
- fX = fY = fZ = 0;
- fVolumeID = 0;
- fCov = 0;
}
//______________________________________________________________________________
AliTrackPointArray::AliTrackPointArray(Int_t npoints):
- fNPoints(npoints)
+ TObject(),
+ fNPoints(npoints),
+ fX(new Float_t[npoints]),
+ fY(new Float_t[npoints]),
+ fZ(new Float_t[npoints]),
+ fSize(6*npoints),
+ fCov(new Float_t[fSize]),
+ fVolumeID(new UShort_t[npoints])
{
// Constructor
//
- fSize = 6*npoints;
- fX = new Float_t[npoints];
- fY = new Float_t[npoints];
- fZ = new Float_t[npoints];
- fVolumeID = new UShort_t[npoints];
- fCov = new Float_t[fSize];
}
//______________________________________________________________________________
AliTrackPointArray::AliTrackPointArray(const AliTrackPointArray &array):
- TObject(array)
+ TObject(array),
+ fNPoints(array.fNPoints),
+ fX(new Float_t[fNPoints]),
+ fY(new Float_t[fNPoints]),
+ fZ(new Float_t[fNPoints]),
+ fSize(array.fSize),
+ fCov(new Float_t[fSize]),
+ fVolumeID(new UShort_t[fNPoints])
{
// Copy constructor
//
- fNPoints = array.fNPoints;
- fSize = array.fSize;
- fX = new Float_t[fNPoints];
- fY = new Float_t[fNPoints];
- fZ = new Float_t[fNPoints];
- fVolumeID = new UShort_t[fNPoints];
- fCov = new Float_t[fSize];
memcpy(fX,array.fX,fNPoints*sizeof(Float_t));
memcpy(fY,array.fY,fNPoints*sizeof(Float_t));
memcpy(fZ,array.fZ,fNPoints*sizeof(Float_t));
ClassImp(AliTrackPoint)
//______________________________________________________________________________
-AliTrackPoint::AliTrackPoint()
+AliTrackPoint::AliTrackPoint() :
+ TObject(),
+ fX(0),
+ fY(0),
+ fZ(0),
+ fVolumeID(0)
{
// Default constructor
//
- fX = fY = fZ = 0;
- fVolumeID = 0;
memset(fCov,0,6*sizeof(Float_t));
}
//______________________________________________________________________________
-AliTrackPoint::AliTrackPoint(Float_t x, Float_t y, Float_t z, const Float_t *cov, UShort_t volid)
+AliTrackPoint::AliTrackPoint(Float_t x, Float_t y, Float_t z, const Float_t *cov, UShort_t volid) :
+ TObject(),
+ fX(0),
+ fY(0),
+ fZ(0),
+ fVolumeID(0)
{
// Constructor
//
}
//______________________________________________________________________________
-AliTrackPoint::AliTrackPoint(const Float_t *xyz, const Float_t *cov, UShort_t volid)
+AliTrackPoint::AliTrackPoint(const Float_t *xyz, const Float_t *cov, UShort_t volid) :
+ TObject(),
+ fX(0),
+ fY(0),
+ fZ(0),
+ fVolumeID(0)
{
// Constructor
//
//______________________________________________________________________________
AliTrackPoint::AliTrackPoint(const AliTrackPoint &p):
- TObject(p)
+ TObject(p),
+ fX(0),
+ fY(0),
+ fZ(0),
+ fVolumeID(0)
{
// Copy constructor
//
// orientation of the detector plane.
// The rotation in XY plane only is calculated.
- if ((fCov[2] != 0) || (fCov[4] != 0))
- return TMath::ATan2(-fCov[4],-fCov[2]);
+ Float_t phi= TMath::ATan2(TMath::Sqrt(fCov[0]),TMath::Sqrt(fCov[3]));
+ if (fCov[1] > 0) {
+ phi = TMath::Pi() - phi;
+ if ((fY-fX) < 0) phi += TMath::Pi();
+ }
else {
- Float_t phi= TMath::ATan2(-fCov[1],fCov[3]);
- if (fX < 0) phi += TMath::Pi();
- return phi;
- }
+ if ((fX+fY) < 0) phi += TMath::Pi();
+ }
+
+ return phi;
+
}
//_____________________________________________________________________________