]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/UPGRADE/ITSUpgradeBase/AliITSRecPointU.cxx
ITS UPGRADE
[u/mrichter/AliRoot.git] / ITS / UPGRADE / ITSUpgradeBase / AliITSRecPointU.cxx
diff --git a/ITS/UPGRADE/ITSUpgradeBase/AliITSRecPointU.cxx b/ITS/UPGRADE/ITSUpgradeBase/AliITSRecPointU.cxx
new file mode 100644 (file)
index 0000000..0e95bc1
--- /dev/null
@@ -0,0 +1,96 @@
+/**************************************************************************
+ * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
+ *                                                                        *
+ * Author: The ALICE Off-line Project.                                    *
+ * Contributors are mentioned in the code where appropriate.              *
+ *                                                                        *
+ * Permission to use, copy, modify and distribute this software and its   *
+ * documentation strictly for non-commercial purposes is hereby granted   *
+ * without fee, provided that the above copyright notice appears in all   *
+ * copies and that both the copyright notice and this permission notice   *
+ * appear in the supporting documentation. The authors make no claims     *
+ * about the suitability of this software for any purpose. It is          *
+ * provided "as is" without express or implied warranty.                  *
+ **************************************************************************/
+
+
+/////////////////////////////////////////////////////////////////////////////////
+// This class sets the local coordinates via a specific setter. Needed because //
+// the AliGeomManager class can not be used for the upgrade code at this stage //
+/////////////////////////////////////////////////////////////////////////////////
+
+#include <AliITSRecPointU.h>
+ClassImp(AliITSRecPointU)
+//_____________________________________________________________
+AliITSRecPointU::AliITSRecPointU():
+    AliITSRecPoint(),
+    fModule(0),
+    fNTracksIdMC(0)
+{
+ //
+ // Default constructor
+ // 
+ for(Int_t i=0; i<kMaxLab ; i++) {
+    fTrackIdMC[i]=-3;
+ }
+}
+//_____________________________________________________________
+AliITSRecPointU::AliITSRecPointU(const AliITSRecPointU& pt):
+    AliITSRecPoint(pt),
+    fModule(pt.fModule),
+    fNTracksIdMC(pt.fNTracksIdMC)
+{
+  //
+  // Copy constructor
+  //
+  for(Int_t i=0; i<kMaxLab ; i++) {
+    fTrackIdMC[i]=pt.fTrackIdMC[i];
+  }
+}
+//______________________________________________________________________
+AliITSRecPointU& AliITSRecPointU::operator=(const AliITSRecPointU& source)
+{
+  //
+  // Assignment operator (as in AliITSRecPoint)
+  //
+
+  this->~AliITSRecPointU();
+  new(this) AliITSRecPointU(source);
+  return *this;
+
+}
+
+//______________________________________________________________________________
+void AliITSRecPointU::AddTrackID(Int_t tid) { 
+  // 
+  // Add an MC label (track ID) to the "expanded list"
+  //
+  if (fNTracksIdMC==kMaxLab) {
+    AliWarning("Max. numbers of labels reached!"); 
+  } else {
+    fTrackIdMC[fNTracksIdMC]=tid; 
+    fNTracksIdMC++;
+  } 
+}
+
+//______________________________________________________________________________
+void AliITSRecPointU::Print(Option_t* /*option*/) const
+{
+  // Print cluster information.
+  
+  printf("AliITSRecPointU pos=(%.4f, %.4f, %.4f), s_y2=%f, s_z2=%f, s_yz=%f, vol=%hu\n",
+         GetX(), GetY(), GetZ(), GetSigmaY2(), GetSigmaZ2(), GetSigmaYZ(), GetVolumeId());
+  printf("      MC Track Ids =(");
+  if (kMaxLab<=fNTracksIdMC) {
+    for (Int_t i=0; i<kMaxLab; i++) { printf("%d,",fTrackIdMC[i]); }
+  } else {
+    for (Int_t i=0; i<fNTracksIdMC; i++) { printf("%d,",fTrackIdMC[i]); }
+  }  
+  printf(")\n");
+  Float_t g[3];
+  if (GetGlobalXYZ(g))
+    printf("    global_pos=(%.4f, %.4f, %.4f)\n", g[0], g[1], g[2]);
+  
+}
+
+