LCOV - code coverage report
Current view: top level - TEvtGen/EvtGen/EvtGenBase - Evt3Rank3C.cpp (source / functions) Hit Total Coverage
Test: coverage.info Lines: 0 97 0.0 %
Date: 2016-06-14 17:26:59 Functions: 0 22 0.0 %

          Line data    Source code
       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: Evt3Rank3C.cc
      12             : //
      13             : // Description: Implementation of complex 3Rank 3D tensors.
      14             : //
      15             : // Modification history:
      16             : //
      17             : //    RYD     September 14, 1996         Module created
      18             : //
      19             : //------------------------------------------------------------------------
      20             : #include "EvtGenBase/EvtPatches.hh"
      21             : 
      22             : #include <iostream>
      23             : #include <math.h>
      24             : #include "EvtGenBase/Evt3Rank3C.hh"
      25             : #include "EvtGenBase/EvtComplex.hh"
      26             : #include "EvtGenBase/EvtVector3C.hh"
      27             : #include "EvtGenBase/EvtTensor3C.hh"
      28             : #include "EvtGenBase/EvtReport.hh"
      29             : 
      30             : 
      31             : 
      32           0 : Evt3Rank3C::Evt3Rank3C( const Evt3Rank3C& t1 ) {
      33             : 
      34             :   int i,j,k;
      35             :   
      36           0 :   for(i=0;i<3;i++) {
      37           0 :     for(j=0;j<3;j++) {
      38           0 :       for(k=0;k<3;j++) {
      39           0 :         t[i][j][k] = t1.t[i][j][k];
      40             :       }
      41             :     }
      42             :   }
      43           0 : }
      44             : 
      45           0 : Evt3Rank3C::~Evt3Rank3C() { }
      46             : 
      47             : 
      48             : Evt3Rank3C& Evt3Rank3C::operator=(const Evt3Rank3C& t1) {
      49             :   int i,j,k;
      50             :   
      51           0 :   for(i=0;i<3;i++) {
      52           0 :     for(j=0;j<3;j++) {
      53           0 :       for(k=0;k<3;k++) {
      54           0 :         t[i][j][k] = t1.t[i][j][k];
      55             :       }
      56             :     }
      57             :   }
      58           0 :   return *this;
      59             : }
      60             : 
      61             : 
      62             : Evt3Rank3C Evt3Rank3C::conj() const {
      63           0 :   Evt3Rank3C temp;
      64             :   
      65             :   int i,j,k;
      66             :   
      67           0 :   for(i=0;i<3;i++) {
      68           0 :     for(j=0;j<3;j++) {
      69           0 :       for(k=0;k<3;k++) {
      70           0 :         temp.set(i,j,k,::conj(t[i][j][k]));
      71             :       }
      72             :     }
      73             :   }
      74             :   return temp;
      75           0 : }
      76             : 
      77             : void Evt3Rank3C::zero(){
      78             :   int i,j,k;
      79           0 :   for(i=0;i<3;i++){
      80           0 :     for(j=0;j<3;j++){
      81           0 :       for(k=0;k<3;k++){
      82           0 :         t[i][j][k]=EvtComplex(0.0,0.0);
      83             :       }
      84             :     }
      85             :   }
      86           0 : }
      87             : 
      88             : 
      89           0 : Evt3Rank3C::Evt3Rank3C(){
      90             :   
      91             :   int i,j,k;
      92             :   
      93           0 :   for(i=0;i<3;i++){
      94           0 :     for(j=0;j<3;j++){
      95           0 :       for(k=0;k<3;k++){
      96           0 :         t[i][j][k]=EvtComplex(0.0,0.0);
      97             :       }
      98             :     }
      99             :   }
     100             : 
     101           0 : }
     102             : 
     103             : std::ostream& operator<<(std::ostream& s, const Evt3Rank3C& t2){
     104             :   int i,j,k;
     105           0 :   for(k=0;k<3;k++){
     106           0 :     for(i=0;i<3;i++){
     107           0 :       for(j=0;j<3;j++){
     108           0 :         report(Severity::Info,"EvtGen") <<t2.t[k][i][j];
     109             :       }
     110           0 :       report(Severity::Info,"EvtGen") << "\n";
     111             :     }
     112             :   }
     113           0 :   return s;
     114             : }
     115             : 
     116             : Evt3Rank3C& Evt3Rank3C::operator+=(const Evt3Rank3C& t2){
     117             :   
     118             :   int i,j,k;
     119             :   
     120           0 :   for (i=0;i<3;i++) {
     121           0 :     for (j=0;j<3;j++) {
     122           0 :       for (k=0;k<3;k++) {
     123           0 :         t[i][j][k]+=t2.t[i][j][k];
     124             :       }
     125             :     }
     126             :   }
     127           0 :   return *this;
     128             : }
     129             : 
     130             : Evt3Rank3C& Evt3Rank3C::operator-=(const Evt3Rank3C& t2) {
     131             : 
     132             :   int i,j,k;
     133             :   
     134           0 :   for (i=0;i<3;i++) {
     135           0 :     for (j=0;j<3;j++) {
     136           0 :       for (k=0;k<3;k++) {
     137           0 :         t[i][j][k]-=t2.t[i][j][k];
     138             :       }
     139             :     }
     140             :   }
     141             : 
     142           0 :   return *this;
     143             : 
     144             : }
     145             : 
     146             : 
     147             : Evt3Rank3C& Evt3Rank3C::operator*=(const EvtComplex& c){
     148             : 
     149             :   int i,j,k;
     150             :   
     151           0 :   for (i=0;i<3;i++) {
     152           0 :     for (j=0;j<3;j++) {
     153           0 :       for (k=0;k<3;k++) {
     154           0 :         t[i][j][k]*=c;
     155             :       }
     156             :     }
     157             :   }
     158           0 :   return *this;
     159             : }
     160             : 
     161             : Evt3Rank3C& Evt3Rank3C::operator*=(const double c){
     162             :   int i,j,k;
     163             :   
     164           0 :   for (i=0;i<3;i++) {
     165           0 :     for (j=0;j<3;j++) {
     166           0 :       for (k=0;k<3;k++) {
     167           0 :         t[i][j][k]*=c;
     168             :       }
     169             :     }
     170             :   }
     171             : 
     172           0 :   return *this;
     173             : 
     174             : }
     175             : 
     176             : Evt3Rank3C conj(const Evt3Rank3C& t2) { 
     177           0 :   Evt3Rank3C temp;
     178             :   
     179             :   int i,j,k;
     180             : 
     181           0 :   for(i=0;i<3;i++){ 
     182           0 :     for(j=0;j<3;j++){ 
     183           0 :       for(k=0;k<3;k++){ 
     184           0 :         temp.t[i][j][k]=::conj(t2.t[i][j][k]);
     185             :       }
     186             :     }
     187             :   }
     188             :   return temp;
     189           0 : }
     190             : 
     191             : EvtTensor3C Evt3Rank3C::cont1(const EvtVector3C& v) const {
     192           0 :   EvtTensor3C temp;
     193             :   
     194             :   int i,k;
     195             :   
     196           0 :   for(i=0;i<3;i++){
     197           0 :     for(k=0;k<3;k++){
     198           0 :       temp.set(i,k,t[0][i][k]*v.get(0)+t[1][i][k]*v.get(1)
     199           0 :              +t[2][i][k]*v.get(2));
     200             :     }
     201             :   }
     202             :   return temp;
     203           0 : } 
     204             : 
     205             : 
     206             : EvtTensor3C Evt3Rank3C::cont2(const EvtVector3C& v) const {
     207           0 :   EvtTensor3C temp;
     208             :   
     209             :   int i,k;
     210             :   
     211           0 :   for(i=0;i<3;i++){
     212           0 :     for(k=0;k<3;k++){
     213           0 :       temp.set(i,k,t[i][0][k]*v.get(0)+t[i][1][k]*v.get(1)
     214           0 :              +t[i][2][k]*v.get(2));
     215             :     }
     216             :   }
     217             :   return temp;
     218           0 : } 
     219             : 
     220             : 
     221             : EvtTensor3C Evt3Rank3C::cont3(const EvtVector3C& v) const {
     222           0 :   EvtTensor3C temp;
     223             :   
     224             :   int i,k;
     225             :   
     226           0 :   for(i=0;i<3;i++){
     227           0 :     for(k=0;k<3;k++){
     228           0 :       temp.set(i,k,t[i][k][0]*v.get(0)+t[i][k][1]*v.get(1)
     229           0 :              +t[i][k][2]*v.get(2));
     230             :     }
     231             :   }
     232             :   return temp;
     233           0 : } 
     234             : 
     235             : EvtTensor3C Evt3Rank3C::cont1(const EvtVector3R& v) const {
     236           0 :   EvtTensor3C temp;
     237             :   
     238             :   int i,k;
     239             :   
     240           0 :   for(i=0;i<3;i++){
     241           0 :     for(k=0;k<3;k++){
     242           0 :       temp.set(i,k,t[0][i][k]*v.get(0)+t[1][i][k]*v.get(1)
     243           0 :              +t[2][i][k]*v.get(2));
     244             :     }
     245             :   }
     246             :   return temp;
     247           0 : } 
     248             : 
     249             : 
     250             : EvtTensor3C Evt3Rank3C::cont2(const EvtVector3R& v) const {
     251           0 :   EvtTensor3C temp;
     252             :   
     253             :   int i,k;
     254             :   
     255           0 :   for(i=0;i<3;i++){
     256           0 :     for(k=0;k<3;k++){
     257           0 :       temp.set(i,k,t[i][0][k]*v.get(0)+t[i][1][k]*v.get(1)
     258           0 :              +t[i][2][k]*v.get(2));
     259             :     }
     260             :   }
     261             :   return temp;
     262           0 : } 
     263             : 
     264             : 
     265             : EvtTensor3C Evt3Rank3C::cont3(const EvtVector3R& v) const {
     266           0 :   EvtTensor3C temp;
     267             :   
     268             :   int i,k;
     269             :   
     270           0 :   for(i=0;i<3;i++){
     271           0 :     for(k=0;k<3;k++){
     272           0 :       temp.set(i,k,t[i][k][0]*v.get(0)+t[i][k][1]*v.get(1)
     273           0 :              +t[i][k][2]*v.get(2));
     274             :     }
     275             :   }
     276             :   return temp;
     277           0 : } 
     278             : 

Generated by: LCOV version 1.11