StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
EvtSpinDensity.hh
1 //--------------------------------------------------------------------------
2 //
3 // Environment:
4 // This software is part of the EvtGen package developed jointly
5 // for the BaBar and CLEO collaborations. If you use all or part
6 // of it, please give an appropriate acknowledgement.
7 //
8 // Copyright Information: See EvtGen/COPYRIGHT
9 // Copyright (C) 1998 Caltech, UCSB
10 //
11 // Module: EvtGen/EvtSpinDensity.hh
12 //
13 // Description: This class holds a spin density matrix, it is
14 // a complex nxn matrix.
15 //
16 // Modification history:
17 //
18 // RYD May 29, 1997 Module created
19 //
20 //------------------------------------------------------------------------
21 
22 #ifndef EVTSPINDENSITY_HH
23 #define EVTSPINDENSITY_HH
24 #include "EvtGenBase/EvtComplex.hh"
25 
26 
28 
29 public:
30 
31  EvtSpinDensity(const EvtSpinDensity& density);
32  EvtSpinDensity& operator=(const EvtSpinDensity& density);
33  virtual ~EvtSpinDensity();
34 
36  void setDim(int n);
37  int getDim() const;
38  void set(int i,int j,const EvtComplex& rhoij);
39  const EvtComplex& get(int i,int j) const;
40  double normalizedProb(const EvtSpinDensity& d);
41  friend std::ostream& operator<<(std::ostream& s,const EvtSpinDensity& d);
42  void setDiag(int n);
43 
44  int check();
45 
46 private:
47 
48  EvtComplexPtrPtr rho;
49  int dim;
50 };
51 
52 #endif
53