CorrelationFactory.cxx
1 #include <fstream>
9 #include <iostream>
10 #include "MagicDisplayConventions.h"
11 #include "CorrelationFactory.h"
12 #include "AnitaConventions.h"
13 #include "AnitaGeomTool.h"
14 #include "WaveformGraph.h"
15 #include "FFTtools.h"
16 
17 #include "TString.h"
18 #include "TObjArray.h"
19 #include "TObjString.h"
20 #include "TVector3.h"
21 #include "TROOT.h"
22 #include "TPaveText.h"
23 #include "TPad.h"
24 #include "TText.h"
25 #include "TLatex.h"
26 #include "TGraph.h"
27 #include "WaveformGraph.h"
28 #include "TStyle.h"
29 #include "TCanvas.h"
30 #include "TAxis.h"
31 #include "TH1.h"
32 #include "THStack.h"
33 #include "TList.h"
34 #include "TObject.h"
35 #include "TTimeStamp.h"
36 
37 
38 
40 
41 
43 {
44  //Default constructor
45  fDeltaT=1./2.6;
46  fgInstance=this;
47  fGrWave[0]=NULL;
48  fGrWave[1]=NULL;
49 
50 }
51 
53 {
54  //Default destructor
55 }
56 
57 
58 
59 //______________________________________________________________________________
61 {
62  //static function
64 }
65 
67 {
68  char graphTitle[180];
69  if(fGrWave[0]==NULL)
70  fGrWave[0]=inputWave;
71  else {
72  fGrWave[1]=inputWave;
73  //Now we can correlate
75  if(fGrWave[0]->fChan!=8) {
76  sprintf(graphTitle,"Correlation Ant %d %c -%d %c",fGrWave[0]->fAnt,
77  AnitaPol::polAsChar(fGrWave[0]->fPol),fGrWave[1]->fAnt,
78  AnitaPol::polAsChar(fGrWave[1]->fPol));
79  }
80  else {
81  sprintf(graphTitle,"Correlation SURF %d Chan %d - SURF %d Chan %d",
82  fGrWave[0]->fSurf+1,fGrWave[0]->fChan+1,
83  fGrWave[1]->fSurf+1,fGrWave[1]->fChan+1);
84  }
85  new TCanvas();
86  grCor->SetTitle(graphTitle);
87  grCor->Draw("al");
88  fGrWave[0]=0;
89  fGrWave[1]=0;
90  }
91 
92 }
WaveformGraph * fGrWave[2]
The input WaveformGraph&#39;s.
static CorrelationFactory * Instance()
Instance generator.
static CorrelationFactory * fgInstance
Protect against multiple instances.
TGraph * getInterpolatedCorrelationGraph(const TGraph *grIn1, const TGraph *grIn2, Double_t deltaT)
Returns the correlation of two interpolated TGraphs.
Definition: FFTtools.cxx:838
The graph class that inherits from ROOT&#39;s TGraph.
Definition: WaveformGraph.h:14
Double_t fDeltaT
The deltaT used in the correlation.
~CorrelationFactory()
Destructor.
CorrelationFactory()
Constructor.
The correlation factory which takes two waveforms and correlates them.
char polAsChar(AnitaPol::AnitaPol_t pol)
Returns the polarisation as a character string.
void addWaveformToCorrelation(WaveformGraph *inputWave)
Adds a a waveform to the correlation.