]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITSdigitSDD.cxx
Added option to swap sides (Ruben)
[u/mrichter/AliRoot.git] / ITS / AliITSdigitSDD.cxx
index ec8b697ecbcfdb1251aca9aeb87a5b22ac21f11a..bf3a9a3111a13e2e6d3aaf254dfc909e0ae456c9 100644 (file)
@@ -14,9 +14,9 @@
  **************************************************************************/
 
 #include <AliITSdigitSDD.h>
+#include <AliITSCalibrationSDD.h>
 #include <TArrayI.h>
 #include <TArrayF.h>
-#include <TMath.h>
 
 ///////////////////////////////////////////////////////////////////
 //                                                               //
 ///////////////////////////////////////////////////////////////////
 
 ClassImp(AliITSdigitSDD)
+
+
 //______________________________________________________________________
-AliITSdigitSDD::AliITSdigitSDD():AliITSdigit(){
+AliITSdigitSDD::AliITSdigitSDD():AliITSdigit(),
+fPhysics(0),
+fSignalExpanded(0){
     // default constructor, zero coordinates and set array
     // elements to clearly unphysical values. A value of 0 may
     // be a valide track of hit number.
     Int_t i;
 
-    for(i=0;i<fgkSsdd;i++) fTracks[i] = -3;
-    for(i=0;i<fgkSsdd;i++) fHits[i]   = -1;
-    fPhysics = 0;
-    for(i=0;i<fgkSsdd;i++) fTcharges[i] = 0;
+    for(i=0;i<fgkSize;i++) fTracks[i] = -3;
+    for(i=0;i<fgkSize;i++) fHits[i]   = -1;
+    for(i=0;i<fgkSize;i++) fTcharges[i] = 0;
+    SetSignalExpanded(-1000);
+}
+//________________________________________________________________________
+AliITSdigitSDD::AliITSdigitSDD(Float_t phys,const Int_t *digits): AliITSdigit(digits),
+fPhysics(phys),
+fSignalExpanded(0){
+   // Creates a simulated SDD digit object to be updated
+  for(Int_t i=0;i<fgkSize;i++) fTracks[i] = -3;
+  for(Int_t i=0;i<fgkSize;i++) fHits[i]   = -1;
+  for(Int_t i=0;i<fgkSize;i++) fTcharges[i] = 0;
+  
+  SetSignalExpanded(-1000);
 }
+
 //________________________________________________________________________
-AliITSdigitSDD::AliITSdigitSDD(Float_t phys,const Int_t *digits):
-    AliITSdigit(digits){
-    // Creates a simulated SDD digit object to be updated
+void AliITSdigitSDD::InitObject(Float_t phys,const Int_t *tracks,
+                          const Int_t *hits,const Float_t *charges){
 
-    fPhysics = phys;
+  // Protected function used by standard constructors
+  fPhysics = phys;
+  for(Int_t i=0; i<fgkSize; i++) {
+    fTcharges[i] = charges[i];
+    fTracks[i]   = tracks[i];
+    fHits[i]     = hits[i];
+  }
 }
 //_____________________________________________________________________________
 AliITSdigitSDD::AliITSdigitSDD(Float_t phys,const Int_t *digits,
                               const Int_t *tracks,const Int_t *hits,
-                              const Float_t *charges):
-    AliITSdigit(digits){
-    // Creates a simulated SDD digit object
-
-    fPhysics = phys;
-    for(Int_t i=0; i<fgkSsdd; i++) {
-       fTcharges[i] = charges[i];
-       fTracks[i]   = tracks[i];
-       fHits[i]     = hits[i];
-    } // end for i
+                              const Float_t *charges):AliITSdigit(digits),
+fPhysics(0),
+fSignalExpanded(0){
+
+// standard constructor
+  InitObject(phys,tracks,hits,charges);
+  SetSignalExpanded(-1000);
 }
-//______________________________________________________________________
+//_____________________________________________________________________________
+AliITSdigitSDD::AliITSdigitSDD( Float_t phys,const Int_t *digits,
+    const Int_t *tracks,const Int_t *hits,const Float_t *charges, Int_t sige): AliITSdigit(digits),
+fPhysics(0),
+fSignalExpanded(0){
+
+  //constructor setting also fSignalExpanded
+  InitObject(phys,tracks,hits,charges);
+  SetSignalExpanded(sige);
+}
+
+//_____________________________________________________________________________
 Int_t AliITSdigitSDD::GetListOfTracks(TArrayI &t,TArrayF &c){
+
     // Fills the TArrayI t with the tracks found in fTracks removing
     // duplicated tracks, summing up their charge, and ordering the tracks
     // by the charge contributed to this digit. It will return
@@ -123,38 +155,47 @@ Int_t AliITSdigitSDD::GetListOfTracks(TArrayI &t,TArrayF &c){
     //
     return n;
 }
+
+
 //______________________________________________________________________
 void AliITSdigitSDD::Print(ostream *os){
-    //Standard output format for this class
+
+
+  //Standard output format for this class
     Int_t i;
 
     AliITSdigit::Print(os);
     *os <<","<< fPhysics;
-    for(i=0; i<fgkSsdd; i++) *os <<","<< fTcharges[i];
-    for(i=0; i<fgkSsdd; i++) *os <<","<< fTracks[i];
-    for(i=0; i<fgkSsdd; i++) *os <<","<< fHits[i];
+    for(i=0; i<fgkSize; i++) *os <<","<< fTcharges[i];
+    for(i=0; i<fgkSize; i++) *os <<","<< fTracks[i];
+    for(i=0; i<fgkSize; i++) *os <<","<< fHits[i];
+    *os <<","<< fSignalExpanded;
 }
 //______________________________________________________________________
 void AliITSdigitSDD::Read(istream *os){
-    //Standard input for this class
-    Int_t i;
+
+  //Standard input for this class
+  Int_t i;
 
     AliITSdigit::Read(os);
     *os >>fPhysics;
-    for(i=0; i<fgkSsdd; i++) *os >> fTcharges[i];
-    for(i=0; i<fgkSsdd; i++) *os >> fTracks[i];
-    for(i=0; i<fgkSsdd; i++) *os >> fHits[i];
+    for(i=0; i<fgkSize; i++) *os >> fTcharges[i];
+    for(i=0; i<fgkSize; i++) *os >> fTracks[i];
+    for(i=0; i<fgkSize; i++) *os >> fHits[i];
+    *os >>fSignalExpanded;
 }
 //______________________________________________________________________
 ostream &operator<<(ostream &os,AliITSdigitSDD &source){
-    // Standard output streaming function.
+
+  // Standard output streaming function.
 
     source.Print(&os);
     return os;
 }
 //______________________________________________________________________
 istream &operator>>(istream &os,AliITSdigitSDD &source){
-    // Standard output streaming function.
+  
+  // Standard output streaming function.
 
     source.Read(&os);
     return os;