ROOT logo
//____________________________________________________________________
//
// $Id$
//
// Small script that shows a signal train from a VA1 pre-amp. 
// 
/** Make VA1 sample train
    @ingroup simple_script
 */
void 
VA1Train() 
{
  gStyle->SetOptTitle(0);
  gStyle->SetOptFit(0);
  gStyle->SetOptStat(0);

  TCanvas* c = new TCanvas("c", "C", 800, 400);
  c->SetFillColor(0);
  c->SetBorderMode(0);
  c->SetBorderSize(0);
  

  TArrayF measurements(6);
  std::cout << "Measurements are: " << std::flush;
  for (Int_t i = 0; i < measurements.fN; i++) {
    measurements[i] = gRandom->Uniform(0,1);
    std::cout << measurements[i] << " " << std::flush;
  }
  std::cout << std::endl;

  Float_t last = 0;
  Float_t B    = 5;
  TH2* frame = new TH2F("frame", "Frame", measurements.fN, 0, 
			measurements.fN, 10, 0, 1.1);
  frame->Draw();
  for (Int_t i = 0; i < measurements.fN; i++) {
    TF1* f = new TF1("f", "[2] + exp(-[1] * (x - [3])) * ([0] - [2])", 
		     i, i + 1);
    f->SetParameter(3, i);
    f->SetParameter(1, B);
    f->SetParameter(2, measurements[i]);
    f->SetParameter(0, last);
    
    if (measurements[i] > last) {      
      // f = new TF1("f", "[0] * (1 - exp(-[1] * (x - [2]))) + [3]", i, i+1);
      // f->SetParameters(measurements[i] - last, B, i, last);
      // f->SetParameter(0, measurements[i]);
      // f->SetParameter(2, last);
    }
    else {
      // f->SetParameter(2, measurements[i]);
      // f->SetParameter(0, last);
      // f = new TF1("f", "[0] * (exp(-[1] * (x - [2]))) + [3]", i, i+1);
      // f->SetParameters(last - measurements[i], B, i, measurements[i]);
    }
    f->Draw("same");  
    last = measurements[i]; 
  }
}
//____________________________________________________________________
//
// EOF
//
 VA1Train.C:1
 VA1Train.C:2
 VA1Train.C:3
 VA1Train.C:4
 VA1Train.C:5
 VA1Train.C:6
 VA1Train.C:7
 VA1Train.C:8
 VA1Train.C:9
 VA1Train.C:10
 VA1Train.C:11
 VA1Train.C:12
 VA1Train.C:13
 VA1Train.C:14
 VA1Train.C:15
 VA1Train.C:16
 VA1Train.C:17
 VA1Train.C:18
 VA1Train.C:19
 VA1Train.C:20
 VA1Train.C:21
 VA1Train.C:22
 VA1Train.C:23
 VA1Train.C:24
 VA1Train.C:25
 VA1Train.C:26
 VA1Train.C:27
 VA1Train.C:28
 VA1Train.C:29
 VA1Train.C:30
 VA1Train.C:31
 VA1Train.C:32
 VA1Train.C:33
 VA1Train.C:34
 VA1Train.C:35
 VA1Train.C:36
 VA1Train.C:37
 VA1Train.C:38
 VA1Train.C:39
 VA1Train.C:40
 VA1Train.C:41
 VA1Train.C:42
 VA1Train.C:43
 VA1Train.C:44
 VA1Train.C:45
 VA1Train.C:46
 VA1Train.C:47
 VA1Train.C:48
 VA1Train.C:49
 VA1Train.C:50
 VA1Train.C:51
 VA1Train.C:52
 VA1Train.C:53
 VA1Train.C:54
 VA1Train.C:55
 VA1Train.C:56
 VA1Train.C:57
 VA1Train.C:58
 VA1Train.C:59
 VA1Train.C:60
 VA1Train.C:61
 VA1Train.C:62
 VA1Train.C:63
 VA1Train.C:64