]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TPC/AliComplexCluster.h
New versions of the DA executables to comply with DAQ DA file naming conventions
[u/mrichter/AliRoot.git] / TPC / AliComplexCluster.h
index f02f6d908669030960e14a71cd422dbe457939a4..7b9d57a9e5518cef473c263cb27f6da467996e43 100644 (file)
@@ -4,13 +4,36 @@
  * See cxx source for full Copyright notice                               */
 
 /* $Id$ */
+//
+// this is a class
+// AliComplexCluster
+// by M. Ivanov
+//
 
 #include "TObject.h"
 #include "TMath.h"
 #include "AliTPCclusterMI.h"
+//
 
 class AliComplexCluster : public TObject {
 public:
+
+  AliComplexCluster();
+  virtual ~AliComplexCluster() {;}
+  Bool_t    IsSortable() const;
+  Int_t Compare(const TObject *o) const;
+  // the following getters are needed by HLT
+  // please dont remove... C. Loizides
+  Int_t GetTrack(Int_t i)const {return fTracks[i];} //labels of overlapped tracks
+  Float_t GetX()const {return fX;}
+  Float_t GetY()const {return fY;}
+  Float_t GetQ()const {return fQ;}
+  Float_t GetSigmaX2()const {return fSigmaX2;}
+  Float_t GetSigmaY2()const {return fSigmaY2;}
+  Float_t GetSigmaXY()const {return fSigmaXY;}
+  Float_t GetArea()const {return fArea;}
+  Float_t GetMax()const {return fMax;}
+private:
   Int_t     fTracks[3];//labels of overlapped tracks
   Float_t   fX ;       //Y of cluster
   Float_t   fY ;       //Z of cluster
@@ -20,30 +43,54 @@ public:
   Float_t   fSigmaXY;  //      XY moment 
   Float_t   fArea;     //area of cluster
   Float_t   fMax;     //amplitude at maximum 
-public:
-  AliComplexCluster() {
-    fTracks[0]=fTracks[1]=fTracks[2]=0; 
-    fX=fY=fQ=fSigmaX2=fSigmaY2=fSigmaXY=fArea=fMax=0.;
-  }
-  virtual ~AliComplexCluster() {;}
-  Bool_t    IsSortable() const;
-  Int_t Compare(const TObject *o) const;
-  ClassDef(AliComplexCluster,1)  // Cluster manager
-};
 
-class AliDigitCluster : public AliComplexCluster {
-public:
-  Int_t fNx; //number of accepted x bins
-  Int_t fNy; //number of accepted y bins
-  Float_t fMaxX; //maximum x bin
-  Float_t fMaxY; //maximum y bin
-public:  
-  ClassDef(AliDigitCluster,1)  // Tclusters
+  ClassDef(AliComplexCluster,1)
+    // Cluster manager
 };
 
 
 
 class AliTPCTrackerPoint  {  
+ public:
+
+  AliTPCTrackerPoint():
+    fTX(0),
+    fTZ(0),
+    fTY(0),
+    fTAngleZ(0),
+    fTAngleY(0),
+    fSigmaZ(0),
+    fSigmaY(0),
+    fErrZ(0),
+    fErrY(0),
+    fIsShared(0){}
+  virtual ~AliTPCTrackerPoint(){}
+  AliTPCTrackerPoint &operator=(const AliTPCTrackerPoint& o);
+  Float_t  GetX() const  {return (fTX*0.01);}
+  Float_t  GetZ() const {return (fTZ*0.01);}
+  Float_t  GetY() const {return (fTY*0.01);}
+  Float_t  GetAngleZ() const  {return (Float_t(fTAngleZ)*0.02);}
+  Float_t  GetAngleY() const {return (Float_t(fTAngleY)*0.02);}
+  //
+  void     SetX(Float_t x)  { fTX = Short_t(TMath::Nint(x*100.));} 
+  void     SetY(Float_t y)  { fTY = Short_t(TMath::Nint(y*100.));} 
+  void     SetZ(Float_t z)  { fTZ = Short_t(TMath::Nint(z*100.));} 
+  void     SetAngleZ(Float_t anglez) {fTAngleZ = Char_t(TMath::Nint(anglez*50.));}
+  void     SetAngleY(Float_t angley) {fTAngleY = Char_t(TMath::Nint(angley*50.));}
+  Float_t  GetSigmaZ() const {return (fSigmaZ*0.02);}
+  Float_t  GetSigmaY() const {return (fSigmaY*0.02);}  
+  Float_t  GetErrZ()   const {return (fErrZ*0.005);}
+  Float_t  GetErrY()   const {return (fErrY*0.005);}
+  void     SetErrZ(Float_t errz) {fErrZ = UChar_t(TMath::Nint(errz*200.));}
+  void     SetErrY(Float_t erry) {fErrY = UChar_t(TMath::Nint(erry*200.));}
+
+  void     SetSigmaZ(Float_t sigmaz) {fSigmaZ = UChar_t(TMath::Nint(sigmaz*50.));}
+  void     SetSigmaY(Float_t sigmay) {fSigmaY = UChar_t(TMath::Nint(sigmay*50.));}
+
+  Char_t   IsShared() const {return fIsShared;}
+  void     SetShared(Char_t s) {fIsShared=s;}
+
+  //
  private:
   Short_t   fTX;        // x position of the cluster  in cm - 10 mum prec
   Short_t   fTZ;        // current prolongation in Z  in cm - 10 mum prec.
@@ -54,53 +101,29 @@ class AliTPCTrackerPoint  {
   UShort_t  fSigmaY;     // shape  Y - normalised shape - normaliziation 1 - precision 2 percent
   UShort_t  fErrZ;       // z error estimate - in  mm - 50 mum precision 
   UShort_t  fErrY;       // y error estimate - in  mm - 50 mum precision 
- public:
   Char_t   fIsShared;     // indicate sharing of the point between several tracks
 
-  AliTPCTrackerPoint(){fTX=0; fTY=0; fTZ=0; fTAngleZ=0; fTAngleY=0; fIsShared = 0;}
-  inline Float_t  GetX() {return (fTX*0.01);}
-  inline Float_t  GetZ() {return (fTZ*0.01);}
-  inline Float_t  GetY() {return (fTY*0.01);}
-  inline Float_t  GetAngleZ() {return (Float_t(fTAngleZ)*0.02);}
-  inline Float_t  GetAngleY() {return (Float_t(fTAngleY)*0.02);}
-  //
-  void     SetX(Float_t x){ fTX = Short_t(TMath::Nint(x*100.));} 
-  void     SetY(Float_t y){ fTY = Short_t(TMath::Nint(y*100.));} 
-  void     SetZ(Float_t z){ fTZ = Short_t(TMath::Nint(z*100.));} 
-  void     SetAngleZ(Float_t anglez) {fTAngleZ = Char_t(TMath::Nint(anglez*50.));}
-  void     SetAngleY(Float_t angley) {fTAngleY = Char_t(TMath::Nint(angley*50.));}
-  inline Float_t  GetSigmaZ() {return (fSigmaZ*0.02);}
-  inline Float_t  GetSigmaY() {return (fSigmaY*0.02);}  
-  inline Float_t  GetErrZ()   {return (fErrZ*0.005);}
-  inline Float_t  GetErrY()   {return (fErrY*0.005);}
-  void     SetErrZ(Float_t errz) {fErrZ = UChar_t(TMath::Nint(errz*200.));}
-  void     SetErrY(Float_t erry) {fErrY = UChar_t(TMath::Nint(erry*200.));}
-
-  void     SetSigmaZ(Float_t sigmaz) {fSigmaZ = UChar_t(TMath::Nint(sigmaz*50.));}
-  void     SetSigmaY(Float_t sigmay) {fSigmaY = UChar_t(TMath::Nint(sigmay*50.));}
-  //
- public:
-  ClassDef(AliTPCTrackerPoint,1)  
+  ClassDef(AliTPCTrackerPoint,2)  
 };
 
 class AliTPCClusterPoint  {
- private:
-  Short_t  fCZ;       // current cluster position Z in cm - 100 mum precision
-  Short_t  fCY;       // current cluster position Y in cm - 100 mum precision
-  UChar_t  fSigmaZ;   // shape  Z - normalised shape - normaliziation 1 - precision 2 percent
-  UChar_t  fSigmaY;   // shape  Y - normalised shape - normaliziation 1 - precision 2 percent
-  UShort_t fQ;        // total charge in cluster 
-  UShort_t fMax;      // charge at maximum  
-  Char_t   fCType;    // type of the cluster
  public:
-  AliTPCClusterPoint(){fCZ=fCY=fSigmaZ=fSigmaY=fQ=fMax=fCType=0;}
-  inline Float_t  GetZ()    {return (fCZ*0.01);}
-  inline Float_t  GetY()    {return (fCY*0.01);}
-  inline Float_t  GetSigmaZ() {return (fSigmaZ*0.02);}
-  inline Float_t  GetSigmaY() {return (fSigmaY*0.02);}  
-  inline Int_t  GetType()   {return fCType;}
-  inline Int_t  GetMax()   {return fMax;}
-  inline Float_t  GetQ()   {return fQ;}
+  AliTPCClusterPoint():
+                      fCZ(0),
+                      fCY(0), 
+                      fSigmaZ(0),
+                      fSigmaY(0),
+                      fQ(0),
+                      fMax(0),
+                      fCType(0){}
+  virtual ~AliTPCClusterPoint(){}
+  Float_t  GetZ() const    {return (fCZ*0.01);}
+  Float_t  GetY() const   {return (fCY*0.01);}
+  Float_t  GetSigmaZ() const {return (fSigmaZ*0.02);}
+  Float_t  GetSigmaY() const {return (fSigmaY*0.02);}  
+  Int_t  GetType() const  {return fCType;}
+  Int_t  GetMax()  const {return fMax;}
+  Float_t  GetQ()  const {return fQ;}
 
   //
   void     SetY(Float_t y){ fCY = Short_t(TMath::Nint(y*100.));} 
@@ -110,16 +133,34 @@ class AliTPCClusterPoint  {
   void     SetQ(Float_t q) {fQ = UShort_t(q);}
   void     SetMax(Float_t max) {fMax = UShort_t(max);}
   void     SetType(Char_t type) {fCType = type;}
+ private:
+  Short_t  fCZ;       // current cluster position Z in cm - 100 mum precision
+  Short_t  fCY;       // current cluster position Y in cm - 100 mum precision
+  UChar_t  fSigmaZ;   // shape  Z - normalised shape - normaliziation 1 - precision 2 percent
+  UChar_t  fSigmaY;   // shape  Y - normalised shape - normaliziation 1 - precision 2 percent
+  UShort_t fQ;        // total charge in cluster 
+  UShort_t fMax;      // charge at maximum  
+  Char_t   fCType;    // type of the cluster
 
   //
- public:
   ClassDef(AliTPCClusterPoint,1)  
 };
 
 
 class AliTPCExactPoint : public TObject{
  public:
-  AliTPCExactPoint(){fEZ=fEY=fEAngleZ=fEAngleY=fEAmp=fEPrim=fTrackID=0;}
+  AliTPCExactPoint():TObject(),
+    fEZ(0.),
+    fEY(0.),
+    fEX(0.),
+    fEAngleZ(0.),
+    fEAngleY(0.),
+    fEAmp(0.),
+    fEPrim(0.),
+    fTrackID(0),
+    fRow(0),
+    fSec(0){}
+ private:
   Float_t fEZ;       // current "exact" position according simulation
   Float_t fEY;       // current "exact" position according simulation
   Float_t fEX;       // x poistion of the cluster
@@ -136,21 +177,38 @@ class AliTPCExactPoint : public TObject{
 
 class AliTPCTrackPoint: public TObject{
  public:
-  AliTPCTrackPoint(){}
+  AliTPCTrackPoint():TObject(),
+    fTPoint(),
+    fCPoint(){}
+
   // AliTPCClusterPoint & GetCPoint(){return fCPoint;}
   AliTPCTrackerPoint & GetTPoint(){return fTPoint;}
   AliTPCclusterMI & GetCPoint(){return fCPoint;}  
- public:
+ private:
   //  AliTPCClusterPoint fCPoint; 
   //Char_t fIsShared;
-  AliTPCTrackerPoint fTPoint;
-  AliTPCclusterMI    fCPoint;
+  AliTPCTrackerPoint fTPoint;  // track point
+  AliTPCclusterMI    fCPoint;  // cluster point
   ClassDef(AliTPCTrackPoint,1)  
 };
 
 class AliTPCTrackPoint2: public AliTPCTrackPoint{
  public:
-  AliTPCTrackPoint2(){}
+  AliTPCTrackPoint2():AliTPCTrackPoint(),
+    fGX(0.),
+    fGY(0.),
+    fGZ(0.),
+    fDY(0.),
+    fDZ(0.),
+    fDYU(0.),
+    fDYD(0),
+    fDZU(0.),
+    fDZD(0.),
+    fDDY(0),
+    fDDZ(0.),
+    fID(0),
+    fLab(0){}
+ private: 
   Float_t fGX;    //global poition of the point
   Float_t fGY;    //global poition of the point
   Float_t fGZ;    //global poition of the point
@@ -169,7 +227,6 @@ class AliTPCTrackPoint2: public AliTPCTrackPoint{
   //
   Int_t   fID;            //id of the corresponding track
   Int_t   fLab;           //MC label of the track
- public:
   ClassDef(AliTPCTrackPoint2,1)  
 };
 
@@ -180,7 +237,7 @@ class AliTPCTrackPointRef: public AliTPCTrackPoint{
  public:
   AliTPCExactPoint & GetExactPoint(){return fEPoint;}
   AliTPCExactPoint & GetNearestPoint(){return fNPoint;}  
- public:
+ private:
   AliTPCExactPoint fEPoint; //exact point belonging to track
   AliTPCExactPoint fNPoint; //nearest point  
   ClassDef(AliTPCTrackPointRef,1)