]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWG2/FEMTOSCOPY/AliFemto/Infrastructure/AliFemtoV0.h
This commit was generated by cvs2svn to compensate for changes in r18145,
[u/mrichter/AliRoot.git] / PWG2 / FEMTOSCOPY / AliFemto / Infrastructure / AliFemtoV0.h
diff --git a/PWG2/FEMTOSCOPY/AliFemto/Infrastructure/AliFemtoV0.h b/PWG2/FEMTOSCOPY/AliFemto/Infrastructure/AliFemtoV0.h
new file mode 100644 (file)
index 0000000..a4a676a
--- /dev/null
@@ -0,0 +1,464 @@
+/***********************************************************************
+ *
+ * $Id: AliFemtoV0.h,v 1.0 1999/09/07
+ *
+ * Authors: Helen Caines, Tom Humanic 07-Sep-1999
+ *
+ ***********************************************************************
+ *
+ * Description: V0 class with members copied from StV0hbtV0.h
+ *
+ ***********************************************************************
+ *
+ * $Log$
+ * Revision 1.1.1.1  2007/03/07 10:14:49  mchojnacki
+ * First version on CVS
+ *
+ * Revision 1.13  2003/09/02 17:58:32  perev
+ * gcc 3.2 updates + WarnOff
+ *
+ * Revision 1.12  2003/01/14 09:45:14  renault
+ * enable this class to be used for theorical calculations.
+ *
+ * Revision 1.11  2002/11/19 23:37:56  renault
+ * Get V0 daughters helix
+ *
+ * Revision 1.10  2002/02/09 19:25:36  laue
+ * updates (dedx length)
+ *
+ * Revision 1.9  2001/09/05 20:41:43  laue
+ * Updates of the hbtMuDstTree microDSTs
+ *
+ * Revision 1.8  2000/10/09 21:54:23  laue
+ * Helens changes to the V0s
+ *
+ * Revision 1.7  2000/08/09 14:50:22  laue
+ * 'const' removed to compile on solaris
+ *
+ * Revision 1.6  2000/07/16 21:38:23  laue
+ * AliFemtoCoulomb.cxx AliFemtoSectoredAnalysis.cxx : updated for standalone version
+ * AliFemtoV0.cc AliFemtoV0.h : some cast to prevent compiling warnings
+ * AliFemtoParticle.cc AliFemtoParticle.h : pointers mTrack,mV0 initialized to 0
+ * AliFemtoIOBinary.cc : some printouts in #ifdef STHBTDEBUG
+ * AliFemtoEvent.cc : B-Field set to 0.25Tesla, we have to think about a better
+ *                 solution
+ *
+ * Revision 1.5  2000/05/03 17:44:43  laue
+ * AliFemtoEvent, AliFemtoTrack & AliFemtoV0 declared friend to AliFemtoIOBinary
+ * AliFemtoParticle updated for V0 pos,neg track Id
+ *
+ * Revision 1.4  2000/02/18 21:32:24  laue
+ * franksTrackCut changed. If mCharge is set to '0' there will be no cut
+ * on charge. This is important for front-loaded cuts.
+ *
+ * copy constructor implemented for AliFemtoEvent, AliFemtoTrack and AliFemtoV0.
+ *
+ * franks1HistoD.cxx franks1HistoD.h franks2HistoD.cxx franks2HistoD.h
+ * removed. We can now (CC5 on Solaris) use the versions (no D)
+ *
+ * Revision 1.3  2000/02/01 00:33:32  laue
+ * namespaces changed to run on the new Solaris Compiler CC5
+ * since we can use member templates in franks1Histo.h we are doing it
+ *
+ * Revision 1.2  1999/10/15 02:32:37  lisa
+ * Helen has added method AliFemtoV0::UpdateV0() to fill derived information - this leads to smaller microDSTs
+ *
+ * Revision 1.1  1999/09/16 18:47:59  lisa
+ * replace placeholder HbtV0Track stuff with Helens AliFemtoV0 classes
+ *
+ * 
+ *
+ ***********************************************************************/
+#ifndef AliFemtoV0_hh
+#define AliFemtoV0_hh
+
+#include "Infrastructure/AliFemtoTypes.h" //same as in AliFemtoTrack.h
+#include "AliFmPhysicalHelixD.h" // Gael 12 Sept 02
+#ifdef __ROOT__
+#ifndef __NO_STAR_DEPENDENCE_ALLOWED__
+#include "StStrangeMuDstMaker/StV0MuDst.h"
+#endif
+#endif
+/* Th stuff */
+#include "Base/AliFemtoHiddenInfo.h"
+/***/
+
+class AliFemtoV0 {
+public:
+  AliFemtoV0(){/* no-op */}
+  AliFemtoV0( const AliFemtoV0&); // copy constructor
+#ifdef __ROOT__
+#ifndef __NO_STAR_DEPENDENCE_ALLOWED__
+  AliFemtoV0( StV0MuDst&); // from strangeness V0 micro dst structure
+#endif
+#endif
+  ~AliFemtoV0(){if(fHiddenInfo) delete fHiddenInfo;}
+
+
+  float decayLengthV0() const;       // 3-d decay distance
+  AliFemtoThreeVector decayVertexV0() const; // Coordinates of decay vertex
+  AliFemtoThreeVector primaryVertex() const; // Coordinates of primary vertex
+  float decayVertexV0X() const; // Coordinates of decay vertex
+  float decayVertexV0Y() const; // Coordinates of decay vertex
+  float decayVertexV0Z() const; // Coordinates of decay vertex
+  float dcaV0Daughters() const;      // DCA of v0 daughters at decay vertex
+  float dcaV0ToPrimVertex() const;   // DCA of v0 to primary vertex
+  float dcaPosToPrimVertex() const;  // DCA of pos v0 daughter to pri vertex
+  float dcaNegToPrimVertex() const;  // DCA of neg v0 daughter to pri vertex
+  AliFemtoThreeVector momPos() const;   // Momentum components of pos. daughter
+  float momPosX() const;   // Momentum components of pos. daughter
+  float momPosY() const;   // Momentum components of pos. daughter
+  float momPosZ() const;   // Momentum components of pos. daughter
+  AliFemtoThreeVector momNeg() const;   // Momentum components of neg. daughter
+  float momNegX() const;   // Momentum components of neg. daughter
+  float momNegY() const;   // Momentum components of neg. daughter
+  float momNegZ() const;   // Momentum components of neg. daughter
+
+  int   tpcHitsPos() const;          // Number of TPC hits on pos. daughter
+  int   tpcHitsNeg() const;          // Number of TPC hits on neg. daughter
+  unsigned long trackTopologyMapPos(unsigned int) const;
+  unsigned long trackTopologyMapNeg(unsigned int) const;
+
+  AliFemtoThreeVector momV0() const ;    // Momentum components of V0
+  float momV0X() const ;    // Momentum components of V0
+  float momV0Y() const ;    // Momentum components of V0
+  float momV0Z() const ;    // Momentum components of V0
+  float alphaV0() const ;             // Armenteros-Podolanski variable
+  float ptArmV0() const ;            // Armenteros-Podolanski variable
+  float eLambda() const ;             // Energy assuming lambda hypothesis
+  float eK0Short() const ;            // Energy assuming k-short hypothesis
+  float ePosProton() const ;          // Energy of pos. daughter assuming proton
+  float ePosPion() const ;            // Energy of pos. daughter assuming pion
+  float eNegProton() const ;          // Energy of neg. daughter assuming antiproton
+  float eNegPion() const ;            // Energy of neg. daughter assuming pion
+  float massLambda() const ;          // Mass assuming lambda hypothesis
+  float massAntiLambda() const ;      // Mass assuming antilambda hypothesis
+  float massK0Short() const ;         // Mass assuming k-short hypothesis
+  float rapLambda() const ;           // Rapidity assuming (anti) constlambda
+  float rapK0Short() const ;          // Rapidity assuming k-short
+  float cTauLambda() const ;          // Lifetime (ctau) const assuming (anti) constlambda
+  float cTauK0Short() const ;         // Lifetime (ctau) const assuming k-short
+  float ptV0() const ;                // Transverse momentum
+  float ptotV0() const ;              // Total momentum
+  float ptPos() const ;               // Transverse momentum of pos. daughter
+  float ptotPos() const ;             // Total momentum of pos. daughter
+  float dedxPos() const;              // dedx of Positive track
+  float numdedxPos() const;
+// number of hits in dE/dX track of pos. daughter--Gael04Fev 2002
+  float errdedxPos() const;              
+// error on dedx of Positive track--Gael04Fev 2002
+  float lendedxPos() const;              
+// Length of dE/dX track of pos. daughter--Gael04Fev 2002
+  float pseudoRapPos() const;              
+// Length of dE/dX track of neg. daughter--Gael04Fev 2002
+
+  float ptNeg() const ;               // Transverse momentum of neg. daughter
+  float ptotNeg() const ;             // Total momentum of neg. daughter
+  float dedxNeg() const;              // dedx of Negative track
+  float numdedxNeg() const;
+// number of hits in dE/dX track of neg. daughter--Gael04Fev 2002
+  float errdedxNeg() const;              
+// error on dedx of Negative track--Gael04Fev 2002
+  float lendedxNeg() const;              
+// Length of dE/dX track of neg. daughter--Gael04Fev 2002
+  float pseudoRapNeg() const;              
+// Length of dE/dX track of neg. daughter--Gael04Fev 2002
+
+  unsigned short     idNeg() const;               // Id of negative track
+  unsigned short   idPos() const;               // Id of positive track
+  unsigned short   keyNeg() const;               // Id of negative track
+  unsigned short   keyPos() const;               // Id of positive track
+
+  const AliFmPhysicalHelixD& HelixPos() const; // Gael 12 Sept 02
+  const AliFmPhysicalHelixD& HelixNeg() const; // Gael 12 Sept 02
+
+  void UpdateV0(); // Fills derived info
+  void SetdecayLengthV0(const float);  
+  void SetdecayVertexV0(const AliFemtoThreeVector);  
+  void SetdecayVertexV0X(const float);
+  void SetdecayVertexV0Y(const float);
+  void SetdecayVertexV0Z(const float);
+  void SetdcaV0Daughters(const float); 
+  void SetdcaV0ToPrimVertex(const float);  
+  void SetdcaPosToPrimVertex(const float); 
+  void SetdcaNegToPrimVertex(const float); 
+  void SetmomPos(const AliFemtoThreeVector);  
+  void SetmomPosX(const float);  
+  void SetmomPosY(const float);  
+  void SetmomPosZ(const float);  
+  void SetmomNeg(const AliFemtoThreeVector);  
+  void SetmomNegX(const float);  
+  void SetmomNegY(const float);  
+  void SetmomNegZ(const float);  
+
+  void SettpcHitsPos(const int&);      
+  void SettpcHitsNeg(const int&);      
+
+  void SetTrackTopologyMapPos(unsigned int, const unsigned long&);
+  void SetTrackTopologyMapNeg(unsigned int, const unsigned long&);      
+
+  void SetmomV0( AliFemtoThreeVector);
+  void SetmomV0X( float);
+  void SetmomV0Y( float);
+  void SetmomV0Z( float);
+  void SetalphaV0( float);       
+  void SetptArmV0( float);       
+  void SeteLambda( float);     
+  void SeteK0Short( float);    
+  void SetePosProton( float);  
+  void SetePosPion( float);    
+  void SeteNegProton( float);  
+  void SeteNegPion( float);    
+  void SetmassLambda( float);  
+  void SetmassAntiLambda( float);
+  void SetmassK0Short( float);  
+  void SetrapLambda( float);    
+  void SetrapK0Short( float);   
+  void SetcTauLambda( float);   
+  void SetcTauK0Short( float);  
+  void SetptV0( float);         
+  void SetptotV0( float);       
+  void SetptPos( float);        
+  void SetptotPos( float);      
+  void SetptNeg( float);        
+  void SetptotNeg( float);
+  void SetidNeg(const unsigned short&);
+  void SetidPos(const unsigned short&);
+  void SetdedxNeg(float);
+  void SeterrdedxNeg(float x);//Gael 04Fev2002
+  void SetlendedxNeg(float x);//Gael 04Fev2002
+  void SetpseudoRapNeg(float x);//Gael 04Fev2002
+  void SetdedxPos(float);
+  void SeterrdedxPos(float x);//Gael 04Fev2002
+  void SetlendedxPos(float x);//Gael 04Fev2002
+  void SetpseudoRapPos(float x);//Gael 04Fev2002
+  void SetkeyNeg(const unsigned short&);
+  void SetkeyPos(const unsigned short&);
+     
+  void SetHelixPos(const AliFmPhysicalHelixD&); // Gael 12 Sept 02
+  void SetHelixNeg(const AliFmPhysicalHelixD&); // Gael 12 Sept 02
+
+  void SetprimaryVertex(const AliFemtoThreeVector v);//Gael 24 Sept 02
+  /* Th stuff */
+  void SetHiddenInfo(AliFemtoHiddenInfo* aHiddenInfo);
+  bool ValidHiddenInfo() const;
+  // Fab private : (official : const AliFemtoHiddenInfo* HiddenInfo() const;
+  AliFemtoHiddenInfo* getHiddenInfo() const;
+  /***/
+
+protected:
+  float fDecayLengthV0;
+  AliFemtoThreeVector fDecayVertexV0;
+  AliFemtoThreeVector fPrimaryVertex;
+  float fDcaV0Daughters;
+  float fDcaV0ToPrimVertex;
+  float fDcaPosToPrimVertex;
+  float fDcaNegToPrimVertex;
+  AliFemtoThreeVector fMomPos;
+  AliFemtoThreeVector fMomNeg;
+
+  unsigned long  fTrackTopologyMapPos[2];
+  unsigned long  fTrackTopologyMapNeg[2];
+       
+  int   fTpcHitsPos;
+  int   fTpcHitsNeg;
+
+  float fChi2V0;
+  float fClV0;
+  float fChi2Pos;
+  float fClPos;
+  float fChi2Neg;
+  float fClNeg;
+
+  float fDedxPos;
+  float fErrDedxPos;
+  float fLenDedxPos;
+  
+  float fDedxNeg;
+  float fErrDedxNeg;
+  float fLenDedxNeg;
+
+  unsigned short fNufDedxPos;
+  unsigned short fNufDedxNeg;
+
+  AliFmPhysicalHelixD fHelixPos; // Gael 12 Sept 02
+  AliFmPhysicalHelixD fHelixNeg; // Gael 12 Sept 02
+
+  // the following variables are not in the persistent version and can be calculated via UpdateV0();
+  AliFemtoThreeVector fMomV0;
+  float fAlphaV0;
+  float fPtArmV0;
+  float fELambda;
+  float fEK0Short;
+  float fEPosProton;
+  float fEPosPion;
+  float fENegProton;
+  float fENegPion;
+  float fMassLambda;
+  float fMassAntiLambda;
+  float fMassK0Short;
+  float fRapLambda;
+  float fRapK0Short;
+  float fCTauLambda;
+  float fCTauK0Short;
+  float fPtV0;
+  float fPtotV0;
+  float fPtPos;
+  float fPtotPos;
+  float fPtNeg;
+  float fPtotNeg;
+
+  unsigned short   fKeyNeg;
+  unsigned short   fKeyPos;
+  /* Th stuff */
+  // Fab private : add mutable
+  mutable AliFemtoHiddenInfo* fHiddenInfo; //!
+  /***/
+
+
+};
+
+
+
+inline float AliFemtoV0::decayLengthV0() const { return fDecayLengthV0; }
+inline AliFemtoThreeVector AliFemtoV0::decayVertexV0() const { return fDecayVertexV0; } 
+inline AliFemtoThreeVector AliFemtoV0::primaryVertex() const { return fPrimaryVertex; }
+inline float AliFemtoV0::decayVertexV0X() const { return fDecayVertexV0.x(); } 
+inline float AliFemtoV0::decayVertexV0Y() const { return fDecayVertexV0.y(); } 
+inline float AliFemtoV0::decayVertexV0Z() const { return fDecayVertexV0.z(); } 
+inline float AliFemtoV0::dcaV0Daughters() const { return fDcaV0Daughters; }
+inline float AliFemtoV0::dcaV0ToPrimVertex() const { return fDcaV0ToPrimVertex; }
+inline float AliFemtoV0::dcaPosToPrimVertex() const { return fDcaPosToPrimVertex; }
+inline float AliFemtoV0::dcaNegToPrimVertex() const { return fDcaNegToPrimVertex; }
+inline AliFemtoThreeVector AliFemtoV0::momPos() const { return fMomPos; }
+inline float AliFemtoV0::momPosX() const { return fMomPos.x(); }
+inline float AliFemtoV0::momPosY() const { return fMomPos.y(); }
+inline float AliFemtoV0::momPosZ() const { return fMomPos.z(); }
+inline AliFemtoThreeVector AliFemtoV0::momNeg() const { return fMomNeg; }
+inline float AliFemtoV0::momNegX() const { return fMomNeg.x(); }
+inline float AliFemtoV0::momNegY() const { return fMomNeg.y(); }
+inline float AliFemtoV0::momNegZ() const { return fMomNeg.z(); }
+inline AliFemtoThreeVector AliFemtoV0::momV0() const { return fMomV0; }
+inline float AliFemtoV0::momV0X() const { return fMomV0.x(); }
+inline float AliFemtoV0::momV0Y() const { return fMomV0.y(); }
+inline float AliFemtoV0::momV0Z() const { return fMomV0.z(); }
+inline float AliFemtoV0::alphaV0() const { return fAlphaV0; }
+inline float AliFemtoV0::ptArmV0() const {return fPtArmV0;}
+inline float AliFemtoV0::eLambda() const {return fELambda;}
+inline float AliFemtoV0::eK0Short() const {return fEK0Short;}
+inline float AliFemtoV0::ePosProton() const {return fEPosProton;}
+inline float AliFemtoV0::ePosPion() const {return fEPosPion;}
+inline float AliFemtoV0::eNegProton() const {return fENegProton;}
+inline float AliFemtoV0::eNegPion() const {return fENegPion;}
+inline float AliFemtoV0::massLambda() const {return fMassLambda;}
+inline float AliFemtoV0::massAntiLambda() const {return fMassAntiLambda;}
+inline float AliFemtoV0::massK0Short() const {return fMassK0Short;}
+inline float AliFemtoV0::rapLambda() const {return fRapLambda;}
+inline float AliFemtoV0::rapK0Short() const {return fRapK0Short;}
+inline float AliFemtoV0::cTauLambda() const {return fCTauLambda;}
+inline float AliFemtoV0::cTauK0Short() const {return fCTauK0Short;}
+inline float AliFemtoV0::ptV0() const {return fPtV0;}
+inline float AliFemtoV0::ptotV0() const {return fPtotV0;}
+inline float AliFemtoV0::ptPos() const {return fPtPos;}
+inline float AliFemtoV0::ptotPos() const {return fPtotPos;}
+inline float AliFemtoV0::ptNeg() const {return fPtNeg;}
+inline float AliFemtoV0::ptotNeg() const {return fPtotNeg;}
+inline int   AliFemtoV0::tpcHitsPos() const { return fTpcHitsPos; }
+inline int   AliFemtoV0::tpcHitsNeg() const { return fTpcHitsNeg; }
+inline float AliFemtoV0::dedxNeg() const {return fDedxNeg;}
+inline float AliFemtoV0::numdedxNeg() const {return fNufDedxNeg;} //Gael 04Fev2002
+inline float AliFemtoV0::errdedxNeg() const {return fErrDedxNeg;} //Gael 04Fev2002
+inline float AliFemtoV0::lendedxNeg() const {return fLenDedxNeg;} //Gael 04Fev2002
+inline float AliFemtoV0::pseudoRapNeg() const {return fMomNeg.pseudoRapidity();} //Gael 04Fev2002
+inline float AliFemtoV0::dedxPos() const {return fDedxPos;}
+inline float AliFemtoV0::numdedxPos() const {return fNufDedxPos;} //Gael 04Fev2002
+inline float AliFemtoV0::errdedxPos() const {return fErrDedxPos;} //Gael 04Fev2002
+inline float AliFemtoV0::lendedxPos() const {return fLenDedxPos;} //Gael 04Fev2002
+inline float AliFemtoV0::pseudoRapPos() const {return fMomPos.pseudoRapidity();} //Gael 04Fev2002
+
+
+inline unsigned long   AliFemtoV0::trackTopologyMapPos(unsigned int word) const { return fTrackTopologyMapPos[word]; }
+inline unsigned long   AliFemtoV0::trackTopologyMapNeg(unsigned int word) const { return fTrackTopologyMapNeg[word]; }
+inline unsigned short   AliFemtoV0::idNeg() const { return fKeyNeg; } 
+inline unsigned short   AliFemtoV0::keyNeg() const { return fKeyNeg; }
+inline unsigned short   AliFemtoV0::idPos() const { return fKeyPos; } 
+inline unsigned short   AliFemtoV0::keyPos() const { return fKeyPos; }
+
+inline void AliFemtoV0::SetdecayLengthV0(const float x){ fDecayLengthV0= x;}   
+inline void AliFemtoV0::SetdecayVertexV0X(const float x){ fDecayVertexV0.setX(x);}
+inline void AliFemtoV0::SetdecayVertexV0Y(const float x){ fDecayVertexV0.setY(x);}
+inline void AliFemtoV0::SetdecayVertexV0Z(const float x){ fDecayVertexV0.setZ(x);}
+inline void AliFemtoV0::SetdecayVertexV0(const AliFemtoThreeVector v){ fDecayVertexV0 = v; }
+inline void AliFemtoV0::SetdcaV0Daughters(const float x){fDcaV0Daughters= x;} 
+inline void AliFemtoV0::SetdcaV0ToPrimVertex(const float x){fDcaV0ToPrimVertex= x;}   
+inline void AliFemtoV0::SetdcaPosToPrimVertex(const float x){fDcaPosToPrimVertex = x;} 
+inline void AliFemtoV0::SetdcaNegToPrimVertex(const float x){fDcaNegToPrimVertex = x;} 
+inline void AliFemtoV0::SetmomPos(const AliFemtoThreeVector v){fMomPos = v; }
+inline void AliFemtoV0::SetmomPosX(const float x){fMomPos.setX(x);}
+inline void AliFemtoV0::SetmomPosY(const float x){fMomPos.setY(x);}
+inline void AliFemtoV0::SetmomPosZ(const float x){fMomPos.setZ(x);}
+inline void AliFemtoV0::SetmomNeg(const AliFemtoThreeVector v){fMomNeg = v; }
+inline void AliFemtoV0::SetmomNegX(const float x){fMomNeg.setX(x);}
+inline void AliFemtoV0::SetmomNegY(const float x){fMomNeg.setY(x);}
+inline void AliFemtoV0::SetmomNegZ(const float x){fMomNeg.setZ(x);}
+inline void AliFemtoV0::SetTrackTopologyMapPos(unsigned int word, const unsigned long& m){fTrackTopologyMapPos[word]=m;} 
+inline void AliFemtoV0::SetTrackTopologyMapNeg(unsigned int word, const unsigned long& m){fTrackTopologyMapNeg[word]=m;} 
+inline void AliFemtoV0::SetmomV0(AliFemtoThreeVector v){fMomV0= v; }
+inline void AliFemtoV0::SetmomV0X(const float x){fMomV0.setX(x);}
+inline void AliFemtoV0::SetmomV0Y(const float x){fMomV0.setY(x);}
+inline void AliFemtoV0::SetmomV0Z(const float x){fMomV0.setZ(x);}
+
+inline void AliFemtoV0::SetalphaV0( float x){fAlphaV0= x;}
+inline void AliFemtoV0::SetptArmV0( float x){fPtArmV0 = x;}
+inline void AliFemtoV0::SeteLambda( float x){fELambda= x;}       
+inline void AliFemtoV0::SeteK0Short( float x){fEK0Short= x;}
+inline void AliFemtoV0::SetePosProton( float x){fEPosProton= x;}      
+inline void AliFemtoV0::SetePosPion( float x){fEPosPion= x;}      
+inline void AliFemtoV0::SeteNegProton( float x){fENegProton= x;} 
+inline void AliFemtoV0::SeteNegPion( float x){fENegPion= x;}       
+inline void AliFemtoV0::SetmassLambda( float x){fMassLambda = x;} 
+inline void AliFemtoV0::SetmassAntiLambda( float x){fMassAntiLambda= x;} 
+inline void AliFemtoV0::SetmassK0Short( float x){fMassK0Short= x;}  
+inline void AliFemtoV0::SetrapLambda( float x){fRapLambda= x;}
+inline void AliFemtoV0::SetrapK0Short( float x){fRapK0Short = x;}   
+inline void AliFemtoV0::SetcTauLambda( float x){fCTauLambda = x;}   
+inline void AliFemtoV0::SetcTauK0Short( float x){fCTauK0Short = x;}   
+inline void AliFemtoV0::SetptV0( float x){fPtV0 = x;}          
+inline void AliFemtoV0::SetptotV0( float x){fPtotV0 = x;}
+inline void AliFemtoV0::SetptPos( float x){fPtPos = x;}
+inline void AliFemtoV0::SetptotPos( float x){fPtotPos = x;}    
+inline void AliFemtoV0::SetptNeg( float x){ fPtNeg= x;}    
+inline void AliFemtoV0::SetptotNeg( float x){ fPtotNeg= x;}
+inline void AliFemtoV0::SetidNeg(const unsigned short& s){ fKeyNeg= s;}
+inline void AliFemtoV0::SetidPos(const unsigned short& s){ fKeyPos= s;}
+inline void AliFemtoV0::SetkeyNeg(const unsigned short& s){ fKeyNeg= s;}
+inline void AliFemtoV0::SetkeyPos(const unsigned short& s){ fKeyPos= s;}
+inline void AliFemtoV0::SettpcHitsPos(const int& i){fTpcHitsPos=i;} 
+inline void AliFemtoV0::SettpcHitsNeg(const int& i){fTpcHitsNeg=i;}
+inline void AliFemtoV0::SetdedxNeg(float x){fDedxNeg=x;}
+inline void AliFemtoV0::SeterrdedxNeg(float x){fErrDedxNeg=x;}//Gael 04Fev2002
+inline void AliFemtoV0::SetlendedxNeg(float x){fLenDedxNeg=x;}//Gael 04Fev2002
+inline void AliFemtoV0::SetdedxPos(float x){fDedxPos=x;}
+inline void AliFemtoV0::SeterrdedxPos(float x){fErrDedxPos=x;}//Gael 04Fev2002
+inline void AliFemtoV0::SetlendedxPos(float x){fLenDedxPos=x;}//Gael 04Fev2002
+inline void AliFemtoV0::SetprimaryVertex(const AliFemtoThreeVector v) { fPrimaryVertex = v; }//Gael 24 Sept 02
+#endif
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+