ROOT logo
// @(#)root/tmva $Id: SVEvent.cxx 37252 2010-12-04 09:57:53Z evt $    
// Author: Andrzej Zemla

/**********************************************************************************
 * Project: TMVA - a Root-integrated toolkit for multivariate data analysis       *
 * Package: TMVA                                                                  *
 * Class  : SVEvent                                                               *
 * Web    : http://tmva.sourceforge.net                                           *
 *                                                                                *
 * Description:                                                                   *
 *      Implementation                                                            *
 *                                                                                *
 * Authors (alphabetical):                                                        *
 *      Marcin Wolter  <Marcin.Wolter@cern.ch> - IFJ PAN, Krakow, Poland          *
 *      Andrzej Zemla  <azemla@cern.ch>        - IFJ PAN, Krakow, Poland          *
 *      (IFJ PAN: Henryk Niewodniczanski Inst. Nucl. Physics, Krakow, Poland)     *   
 *                                                                                *
 * Copyright (c) 2005:                                                            *
 *      CERN, Switzerland                                                         * 
 *      MPI-K Heidelberg, Germany                                                 * 
 *      PAN, Krakow, Poland                                                       *
 *                                                                                *
 * Redistribution and use in source and binary forms, with or without             *
 * modification, are permitted according to the terms listed in LICENSE           *
 * (http://tmva.sourceforge.net/LICENSE)                                          *
 **********************************************************************************/

#include "TMVA/SVEvent.h"
#include "TMVA/Event.h"

#include <iostream>

ClassImp(TMVA::SVEvent)

TMVA::SVEvent::SVEvent()
   : fDataVector(0),
     fCweight(1.), 
     fAlpha(0),
     fAlpha_p(0),
     fErrorCache(0),
     fNVar(0),
     fTypeFlag(0),
     fIdx(0),
     fNs(0),
     fIsShrinked(0),
     fLine(0),
     fTarget(0)   
{
}

//_______________________________________________________________________
TMVA::SVEvent::SVEvent( const Event* event, Float_t C_par )
   : fDataVector(event->GetValues()),
     fCweight(C_par*event->GetWeight()),
     fAlpha(0),
     fAlpha_p(0),
     fErrorCache(0),
     fNVar(event->GetNVariables()),
     fTypeFlag(2*event->GetClass()-1),
     fIdx(2*event->GetClass()-1),
     fNs(0),
     fIsShrinked(0),
     fLine(0),
     fTarget((event->GetNTargets() > 0 ? event->GetTarget(0) : 0))
{
   // constructor
}

//_______________________________________________________________________
TMVA::SVEvent::SVEvent( const std::vector<Float_t>* svector, Float_t alpha, Int_t typeFlag, UInt_t ns )
   : fDataVector(*svector),
     fCweight(-1.),
     fAlpha(alpha),
     fAlpha_p(0),
     fErrorCache(-1.),
     fNVar(svector->size()),
     fTypeFlag(typeFlag),
     fIdx(-1),
     fNs(ns),
     fIsShrinked(0),
     fLine(0),
     fTarget(0)
{
   // constructor
}

//_______________________________________________________________________
TMVA::SVEvent::SVEvent( const std::vector<Float_t>* svector, Float_t alpha, Float_t alpha_p,Int_t typeFlag)
   : fDataVector(*svector),
     fCweight(-1.),
     fAlpha(alpha),
     fAlpha_p(alpha_p),
     fErrorCache(-1.),
     fNVar(svector->size()),
     fTypeFlag(typeFlag),
     fIdx(-1),
     fNs(0),
     fIsShrinked(0),
     fLine(0),
     fTarget(0)
{
   // constructor
}

//_______________________________________________________________________
TMVA::SVEvent::~SVEvent()
{
   // destructor
   if (fLine != 0) {
      delete fLine; 
      fLine = 0;
   }
}

//_______________________________________________________________________
void TMVA::SVEvent::Print( std::ostream& os ) const
{
   // printout 
   os << "type::" << fTypeFlag <<" target::"<< fTarget << " alpha::" << fAlpha <<" alpha_p::"<< fAlpha_p<< " values::" ;
   for (UInt_t j =0; j < fDataVector.size();j++) os<<fDataVector.at(j)<<" ";
   os << std::endl;
}

//_______________________________________________________________________
void TMVA::SVEvent::PrintData()
{
   // printout 
   for (UInt_t i = 0; i < fNVar; i++) std::cout<<fDataVector.at(i)<<" ";
   std::cout<<std::endl;
}
 SVEvent.cxx:1
 SVEvent.cxx:2
 SVEvent.cxx:3
 SVEvent.cxx:4
 SVEvent.cxx:5
 SVEvent.cxx:6
 SVEvent.cxx:7
 SVEvent.cxx:8
 SVEvent.cxx:9
 SVEvent.cxx:10
 SVEvent.cxx:11
 SVEvent.cxx:12
 SVEvent.cxx:13
 SVEvent.cxx:14
 SVEvent.cxx:15
 SVEvent.cxx:16
 SVEvent.cxx:17
 SVEvent.cxx:18
 SVEvent.cxx:19
 SVEvent.cxx:20
 SVEvent.cxx:21
 SVEvent.cxx:22
 SVEvent.cxx:23
 SVEvent.cxx:24
 SVEvent.cxx:25
 SVEvent.cxx:26
 SVEvent.cxx:27
 SVEvent.cxx:28
 SVEvent.cxx:29
 SVEvent.cxx:30
 SVEvent.cxx:31
 SVEvent.cxx:32
 SVEvent.cxx:33
 SVEvent.cxx:34
 SVEvent.cxx:35
 SVEvent.cxx:36
 SVEvent.cxx:37
 SVEvent.cxx:38
 SVEvent.cxx:39
 SVEvent.cxx:40
 SVEvent.cxx:41
 SVEvent.cxx:42
 SVEvent.cxx:43
 SVEvent.cxx:44
 SVEvent.cxx:45
 SVEvent.cxx:46
 SVEvent.cxx:47
 SVEvent.cxx:48
 SVEvent.cxx:49
 SVEvent.cxx:50
 SVEvent.cxx:51
 SVEvent.cxx:52
 SVEvent.cxx:53
 SVEvent.cxx:54
 SVEvent.cxx:55
 SVEvent.cxx:56
 SVEvent.cxx:57
 SVEvent.cxx:58
 SVEvent.cxx:59
 SVEvent.cxx:60
 SVEvent.cxx:61
 SVEvent.cxx:62
 SVEvent.cxx:63
 SVEvent.cxx:64
 SVEvent.cxx:65
 SVEvent.cxx:66
 SVEvent.cxx:67
 SVEvent.cxx:68
 SVEvent.cxx:69
 SVEvent.cxx:70
 SVEvent.cxx:71
 SVEvent.cxx:72
 SVEvent.cxx:73
 SVEvent.cxx:74
 SVEvent.cxx:75
 SVEvent.cxx:76
 SVEvent.cxx:77
 SVEvent.cxx:78
 SVEvent.cxx:79
 SVEvent.cxx:80
 SVEvent.cxx:81
 SVEvent.cxx:82
 SVEvent.cxx:83
 SVEvent.cxx:84
 SVEvent.cxx:85
 SVEvent.cxx:86
 SVEvent.cxx:87
 SVEvent.cxx:88
 SVEvent.cxx:89
 SVEvent.cxx:90
 SVEvent.cxx:91
 SVEvent.cxx:92
 SVEvent.cxx:93
 SVEvent.cxx:94
 SVEvent.cxx:95
 SVEvent.cxx:96
 SVEvent.cxx:97
 SVEvent.cxx:98
 SVEvent.cxx:99
 SVEvent.cxx:100
 SVEvent.cxx:101
 SVEvent.cxx:102
 SVEvent.cxx:103
 SVEvent.cxx:104
 SVEvent.cxx:105
 SVEvent.cxx:106
 SVEvent.cxx:107
 SVEvent.cxx:108
 SVEvent.cxx:109
 SVEvent.cxx:110
 SVEvent.cxx:111
 SVEvent.cxx:112
 SVEvent.cxx:113
 SVEvent.cxx:114
 SVEvent.cxx:115
 SVEvent.cxx:116
 SVEvent.cxx:117
 SVEvent.cxx:118
 SVEvent.cxx:119
 SVEvent.cxx:120
 SVEvent.cxx:121
 SVEvent.cxx:122
 SVEvent.cxx:123
 SVEvent.cxx:124
 SVEvent.cxx:125
 SVEvent.cxx:126
 SVEvent.cxx:127
 SVEvent.cxx:128
 SVEvent.cxx:129
 SVEvent.cxx:130