OscFit::ArgonData Class Reference

#include <ArgonData.h>

Inheritance diagram for OscFit::ArgonData:
OscFit::Data

List of all members.

Public Member Functions

 ArgonData (RunType_t runtype, Sample_t sample, OscType_t osctype)
 ~ArgonData ()
EventBuildEvent (int ievent)
void AddFile (const char *filename)
int GetNumEvents ()
void Reset ()
void Initialise ()

Private Attributes

TChain * fChain
Int_t run
Int_t event
Int_t inu
Int_t iact
Int_t ires
Double_t trueDirNuX
Double_t trueDirNuY
Double_t trueDirNuZ
Double_t trueEnu
Double_t trueElep
Double_t trueEhad
Double_t trueHeight
Double_t trueHeightNumu2Nue
Int_t trueFC
Int_t truePC
Int_t trueUpStop
Int_t trueUpThrough
Int_t trueElectron
Int_t trueMuon
Int_t trueTau
Int_t trueNC
Int_t trueNu
Int_t trueNuBar
Double_t recoDirNuX
Double_t recoDirNuY
Double_t recoDirNuZ
Double_t recoEnu
Double_t recoElep
Double_t recoEhad
Double_t recoLength
Int_t recoFC
Int_t recoPC
Int_t recoUpStop
Int_t recoUpThrough
Int_t recoVanilla
Int_t recoSingle
Int_t recoMulti
Int_t recoQuasiElastic
Int_t recoElectron
Int_t recoMuon
Int_t recoTau
Int_t recoNC
Int_t recoNu
Int_t recoNuBar
Int_t loRes
Int_t hiRes
Int_t resBin0
Int_t resBin1
Int_t resBin2
Int_t resBin3
Int_t resBin4
Int_t recoPassTrigger
Int_t recoPassSelection
Int_t taggedProton
Int_t taggedElectron
Double_t weight
Double_t fluxelmuratio

Detailed Description

Definition at line 10 of file ArgonData.h.


Constructor & Destructor Documentation

ArgonData::ArgonData ( RunType_t  runtype,
Sample_t  sample,
OscType_t  osctype 
)

Definition at line 10 of file ArgonData.cxx.

References fChain, Initialise(), and Reset().

00010                                                                             : Data( runtype, sample, osctype )
00011 {
00012   fChain = new TChain("ntuple","chain");
00013 
00014   this->Initialise();
00015 
00016   this->Reset();
00017 }

ArgonData::~ArgonData (  ) 

Definition at line 19 of file ArgonData.cxx.

00020 {
00021 
00022 }


Member Function Documentation

void ArgonData::AddFile ( const char *  filename  )  [virtual]

Reimplemented from OscFit::Data.

Definition at line 91 of file ArgonData.cxx.

References fChain.

00092 {
00093   std::cout << "   running: ArgonData::AddFile(...) " << std::endl;
00094   std::cout << "   adding file: " << file << std::endl;
00095 
00096   fChain->Add(file);
00097 
00098   std::cout << "   loaded: " << fChain->GetEntries() << " events " << std::endl;
00099 
00100   return;
00101 }

Event * ArgonData::BuildEvent ( int  ievent  )  [virtual]

Reimplemented from OscFit::Data.

Definition at line 103 of file ArgonData.cxx.

References OscFit::Event::Containment, OscFit::Event::Ctr, OscFit::Event::ElectronTag, OscFit::Event::Experiment, fChain, OscFit::Data::fEvent, fluxelmuratio, OscFit::Data::fOscType, OscFit::Data::fRunType, OscFit::Data::fSample, OscFit::GetRunPeriod(), OscFit::GetSource(), OscFit::Event::Iact, iact, OscFit::Configuration::Instance(), OscFit::Event::Inu, inu, OscFit::kAmbig, OscFit::kAtmosData, OscFit::kCV, OscFit::kElectron, OscFit::kFullyContained, OscFit::kHiRes, OscFit::kLBNE, OscFit::kLoRes, OscFit::kNC, OscFit::kNoElectron, OscFit::kNoOsc, OscFit::kNoProton, OscFit::kNu, OscFit::kNuBar, OscFit::kNue, OscFit::kNumu, OscFit::kNutau, OscFit::kPartiallyContained, OscFit::kProton, OscFit::kVanilla, loRes, OscFit::Event::Numu2Nue, OscFit::Event::OscType, OscFit::Event::ProtonTag, OscFit::Event::RecoCharge, OscFit::Event::RecoCosZen, recoDirNuZ, recoEhad, recoElectron, recoElep, OscFit::Event::RecoEmu, OscFit::Event::RecoEnergy, recoEnu, OscFit::Event::RecoEnu, OscFit::Event::RecoEshw, OscFit::Event::RecoExiting, recoFC, OscFit::Event::RecoFlavour, OscFit::Event::RecoLength, recoLength, recoMuon, recoNC, recoNu, recoNuBar, OscFit::Event::RecoPass, recoPassSelection, recoPassTrigger, recoPC, recoUpStop, OscFit::Event::Reset(), OscFit::Event::Resolution, OscFit::Event::Run, run, OscFit::Event::RunPeriod, OscFit::Event::Sample, OscFit::Event::Source, taggedElectron, taggedProton, OscFit::Event::Topology, OscFit::Event::Trigger, OscFit::Event::TrueCharge, OscFit::Event::TrueCosZen, trueDirNuZ, trueEhad, trueElep, OscFit::Event::TrueEmu, trueEnu, OscFit::Event::TrueEnu, OscFit::Event::TrueEshw, OscFit::Event::TrueFlavour, OscFit::Event::TrueHeight, trueHeight, OscFit::Event::TrueHeightNumu2Nue, trueHeightNumu2Nue, OscFit::Event::Weight, and weight.

00104 {
00105   fEvent->Reset();
00106 
00107   if( ievent>=0 && ievent<fChain->GetEntries() ){
00108     fChain->GetEntry( ievent );
00109 
00110     // Counter
00111     // =======
00112     fEvent->Ctr = ievent;
00113 
00114     // Type of data
00115     // ============
00116     fEvent->Experiment = OscFit::kLBNE;
00117     fEvent->Source     = OscFit::GetSource(fRunType);
00118     fEvent->RunPeriod  = OscFit::GetRunPeriod(fRunType);
00119     fEvent->Run        = run;
00120     fEvent->Trigger    = event;
00121     fEvent->Sample     = fSample;
00122     fEvent->OscType    = fOscType;
00123     fEvent->Weight     = weight;
00124     fEvent->Numu2Nue   = 0.0;  
00125     fEvent->TrueHeight = 0.0; 
00126     fEvent->TrueHeightNumu2Nue = 0.0; 
00127 
00128 
00129     // Contained Vertex MC
00130     // ===================
00131     if( fSample==kCV ){
00132       fEvent->Inu         = inu;
00133       fEvent->Iact        = iact;
00134       fEvent->TrueEnu     = trueEnu;
00135       fEvent->TrueCosZen  = -trueDirNuZ;
00136 
00137       if( fEvent->Source==kAtmosData ){
00138         fEvent->TrueHeight = trueHeight; 
00139         fEvent->TrueHeightNumu2Nue = trueHeightNumu2Nue; 
00140       }
00141 
00142       if( fabs(inu)==14 && iact==1 ){
00143         fEvent->TrueEmu   = trueElep;
00144         fEvent->TrueEshw  = trueEhad;
00145       }
00146       else{
00147         fEvent->TrueEmu   = 0.0;
00148         fEvent->TrueEshw  = trueEhad;
00149       }
00150 
00151       if( inu>0 ) fEvent->TrueCharge = kNu;
00152       else        fEvent->TrueCharge = kNuBar;
00153 
00154       if( iact!=1 )            fEvent->TrueFlavour = kNC;
00155       else if( fabs(inu)==12 ) fEvent->TrueFlavour = kNue;
00156       else if( fabs(inu)==14 ) fEvent->TrueFlavour = kNumu;
00157       else if( fabs(inu)==16 ) fEvent->TrueFlavour = kNutau;
00158 
00159       // flux weights
00160       fEvent->Numu2Nue = 0.0;
00161 
00162       if( fluxelmuratio!=0.0 ){ 
00163         if( fabs(inu)==12 ) fEvent->Numu2Nue = 1.0/fluxelmuratio;   // w = N_mu / N_e
00164         if( fabs(inu)==14 ) fEvent->Numu2Nue = 1.0*fluxelmuratio;   // w = N_e / N_mu
00165         if( fabs(inu)==16 ) fEvent->Numu2Nue = 1.0*fluxelmuratio;   // w = N_e / N_mu
00166       }
00167 
00168       // count NC events once
00169       if( fOscType!=kNoOsc && iact!=1 ) fEvent->Weight *= 0.0;
00170 
00171 
00172       // reconstruction and selection
00173       // ============================
00174       if( recoPassTrigger
00175        && recoPassSelection ){
00176 
00177         // selected
00178         fEvent->RecoPass = 1;
00179 
00180         // containment
00181         if( recoFC )                fEvent->Containment = kFullyContained;
00182         else if( recoPC )           fEvent->Containment = kPartiallyContained;
00183 
00184         // FOR NOW, LEAVE OUT ROCK MUONS
00185         // else if( recoUpStop )    fEvent->Containment = kUpStop;
00186         // else if( recoUpThrough ) fEvent->Containment = kUpThrough;
00187 
00188         if( recoFC || recoUpStop )  fEvent->RecoExiting = 0;
00189         else                        fEvent->RecoExiting = 1;
00190 
00191         // FOR NOW, LEAVE OUT RECO NC EVENTS
00192         if( recoElectron )          fEvent->RecoFlavour = kNue;
00193         else if( recoMuon )         fEvent->RecoFlavour = kNumu;
00194         else if( recoNC && Configuration::Instance()->UsingNC() )
00195                                     fEvent->RecoFlavour = kNC;
00196         else                        fEvent->RecoPass = 0; 
00197        
00198         if( recoNu )                fEvent->RecoCharge = kNu;
00199         else if( recoNuBar )        fEvent->RecoCharge = kNuBar;
00200         else                        fEvent->RecoCharge = kAmbig;
00201 
00202         // FOR NOW, INTERCEPT RECO NUMU FROM TRUE NUE
00203         // (otherwise, things break - TODO: fix this!)
00204         if( fEvent->RecoFlavour == kNumu 
00205          && fEvent->TrueFlavour == kNue  ){
00206           fEvent->TrueFlavour = kNC; 
00207         }
00208         
00209         // FOR NOW, IGNORE TOPOLOGY
00210         // if( recoVanilla )           fEvent->Topology = kVanilla;
00211         // else if( recoQuasiElastic ) fEvent->Topology = kQuasiElastic;
00212         // else if( recoSingle )       fEvent->Topology = kSingle;
00213         // else if( recoMulti )        fEvent->Topology = kMulti;
00214         fEvent->Topology = kVanilla;
00215 
00216         // FOR NOW, IGNORE RESOLUTION
00217         // (otherwise, file sizes are too big!)
00218         //      if( resBin0 ) fEvent->Resolution = kResBin0;
00219         // else if( resBin1 ) fEvent->Resolution = kResBin1;
00220         // else if( resBin2 ) fEvent->Resolution = kResBin2;
00221         // else if( resBin3 ) fEvent->Resolution = kResBin3;
00222         // else if( resBin4 ) fEvent->Resolution = kResBin4;
00223         // else               fEvent->Resolution = kLoRes;
00224         if( loRes )  fEvent->Resolution = kLoRes;
00225         else         fEvent->Resolution = kHiRes;
00226 
00227         // proton and electron tags (ATMOSPHERIC NEUTRINOS ONLY)
00228         if( fEvent->Source==kAtmosData ){
00229           if( taggedProton )   fEvent->ProtonTag = kProton;
00230           else                 fEvent->ProtonTag = kNoProton;
00231 
00232           if( taggedElectron ) fEvent->ElectronTag = kElectron;
00233           else                 fEvent->ElectronTag = kNoElectron;
00234         }
00235         
00236         // reconstructed kinematics
00237         fEvent->RecoEshw    = recoEhad;
00238         fEvent->RecoEmu     = recoElep;
00239         fEvent->RecoEnu     = recoEnu;           
00240         fEvent->RecoEnergy  = recoEnu;
00241 
00242         if( fEvent->Source==kAtmosData ){ 
00243           fEvent->RecoCosZen  = -recoDirNuZ;
00244           fEvent->RecoLength  = recoLength;
00245         }
00246 
00247       }
00248     }
00249 
00250   }
00251 
00252   return fEvent;
00253 }

int ArgonData::GetNumEvents (  )  [virtual]

Reimplemented from OscFit::Data.

Definition at line 255 of file ArgonData.cxx.

References fChain.

00256 {
00257   return fChain->GetEntries();
00258 }

void ArgonData::Initialise (  ) 

Definition at line 24 of file ArgonData.cxx.

Referenced by ArgonData().

00025 {
00026  
00027 }

void ArgonData::Reset (  )  [virtual]

Reimplemented from OscFit::Data.

Definition at line 29 of file ArgonData.cxx.

References fChain, fluxelmuratio, hiRes, iact, inu, ires, loRes, recoDirNuX, recoDirNuY, recoDirNuZ, recoEhad, recoElectron, recoElep, recoEnu, recoFC, recoLength, recoMulti, recoMuon, recoNC, recoNu, recoNuBar, recoPassSelection, recoPassTrigger, recoPC, recoQuasiElastic, recoSingle, recoTau, recoUpStop, recoUpThrough, recoVanilla, resBin0, resBin1, resBin2, resBin3, resBin4, run, taggedElectron, taggedProton, trueDirNuX, trueDirNuY, trueDirNuZ, trueEhad, trueElectron, trueElep, trueEnu, trueFC, trueHeight, trueHeightNumu2Nue, trueMuon, trueNC, trueNu, trueNuBar, truePC, trueTau, and weight.

Referenced by ArgonData().

00030 {
00031   fChain->Reset();
00032   fChain->SetBranchAddress("run",&run);   
00033   fChain->SetBranchAddress("event",&event);  
00034   fChain->SetBranchAddress("inu",&inu);
00035   fChain->SetBranchAddress("iact",&iact);
00036   fChain->SetBranchAddress("ires",&ires);
00037   fChain->SetBranchAddress("trueHeight",&trueHeight);
00038   fChain->SetBranchAddress("trueHeightNumu2Nue",&trueHeightNumu2Nue);
00039   fChain->SetBranchAddress("trueDirNuX",&trueDirNuX);
00040   fChain->SetBranchAddress("trueDirNuY",&trueDirNuY);
00041   fChain->SetBranchAddress("trueDirNuZ",&trueDirNuZ);  
00042   fChain->SetBranchAddress("trueEnu",&trueEnu);
00043   fChain->SetBranchAddress("trueElep",&trueElep);
00044   fChain->SetBranchAddress("trueEvisHad",&trueEhad);
00045   fChain->SetBranchAddress("trueFC",&trueFC);
00046   fChain->SetBranchAddress("truePC",&truePC);
00047   fChain->SetBranchAddress("trueElectron",&trueElectron);
00048   fChain->SetBranchAddress("trueMuon",&trueMuon);
00049   fChain->SetBranchAddress("trueTau",&trueTau);
00050   fChain->SetBranchAddress("trueNC",&trueNC);
00051   fChain->SetBranchAddress("trueNu",&trueNu);
00052   fChain->SetBranchAddress("trueNuBar",&trueNuBar);
00053   fChain->SetBranchAddress("recoDirNuX",&recoDirNuX);
00054   fChain->SetBranchAddress("recoDirNuY",&recoDirNuY);
00055   fChain->SetBranchAddress("recoDirNuZ",&recoDirNuZ);
00056   fChain->SetBranchAddress("recoEnu",&recoEnu);
00057   fChain->SetBranchAddress("recoElep",&recoElep);
00058   fChain->SetBranchAddress("recoEhad",&recoEhad);
00059   fChain->SetBranchAddress("recoLength",&recoLength);
00060   fChain->SetBranchAddress("recoFC",&recoFC);
00061   fChain->SetBranchAddress("recoPC",&recoPC);
00062   fChain->SetBranchAddress("recoUpStop",&recoUpStop);
00063   fChain->SetBranchAddress("recoUpThrough",&recoUpThrough);
00064   fChain->SetBranchAddress("recoVanilla",&recoVanilla);
00065   fChain->SetBranchAddress("recoSingle",&recoSingle);
00066   fChain->SetBranchAddress("recoMulti",&recoMulti);
00067   fChain->SetBranchAddress("recoQuasiElastic",&recoQuasiElastic);
00068   fChain->SetBranchAddress("recoElectron",&recoElectron);
00069   fChain->SetBranchAddress("recoMuon",&recoMuon);
00070   fChain->SetBranchAddress("recoTau",&recoTau);
00071   fChain->SetBranchAddress("recoNC",&recoNC);
00072   fChain->SetBranchAddress("recoNu",&recoNu);
00073   fChain->SetBranchAddress("recoNuBar",&recoNuBar); 
00074   fChain->SetBranchAddress("loRes",&loRes);
00075   fChain->SetBranchAddress("hiRes",&hiRes);
00076   fChain->SetBranchAddress("resBin0",&resBin0);
00077   fChain->SetBranchAddress("resBin1",&resBin1);
00078   fChain->SetBranchAddress("resBin2",&resBin2);
00079   fChain->SetBranchAddress("resBin3",&resBin3);
00080   fChain->SetBranchAddress("resBin4",&resBin4);
00081   fChain->SetBranchAddress("recoPassTrigger",&recoPassTrigger);
00082   fChain->SetBranchAddress("recoPassSelection",&recoPassSelection);
00083   fChain->SetBranchAddress("taggedProton",&taggedProton);
00084   fChain->SetBranchAddress("taggedElectron",&taggedElectron);
00085   fChain->SetBranchAddress("weight",&weight);
00086   fChain->SetBranchAddress("fluxElMuRatio",&fluxelmuratio);
00087 
00088   return;
00089 }


Member Data Documentation

Int_t OscFit::ArgonData::event [private]

Definition at line 29 of file ArgonData.h.

TChain* OscFit::ArgonData::fChain [private]

Definition at line 26 of file ArgonData.h.

Referenced by AddFile(), ArgonData(), BuildEvent(), GetNumEvents(), and Reset().

Definition at line 96 of file ArgonData.h.

Referenced by BuildEvent(), and Reset().

Int_t OscFit::ArgonData::hiRes [private]

Definition at line 82 of file ArgonData.h.

Referenced by Reset().

Int_t OscFit::ArgonData::iact [private]

Definition at line 32 of file ArgonData.h.

Referenced by BuildEvent(), and Reset().

Int_t OscFit::ArgonData::inu [private]

Definition at line 31 of file ArgonData.h.

Referenced by BuildEvent(), and Reset().

Int_t OscFit::ArgonData::ires [private]

Definition at line 33 of file ArgonData.h.

Referenced by Reset().

Int_t OscFit::ArgonData::loRes [private]

Definition at line 81 of file ArgonData.h.

Referenced by BuildEvent(), and Reset().

Double_t OscFit::ArgonData::recoDirNuX [private]

Definition at line 56 of file ArgonData.h.

Referenced by Reset().

Double_t OscFit::ArgonData::recoDirNuY [private]

Definition at line 57 of file ArgonData.h.

Referenced by Reset().

Double_t OscFit::ArgonData::recoDirNuZ [private]

Definition at line 58 of file ArgonData.h.

Referenced by BuildEvent(), and Reset().

Double_t OscFit::ArgonData::recoEhad [private]

Definition at line 62 of file ArgonData.h.

Referenced by BuildEvent(), and Reset().

Definition at line 74 of file ArgonData.h.

Referenced by BuildEvent(), and Reset().

Double_t OscFit::ArgonData::recoElep [private]

Definition at line 61 of file ArgonData.h.

Referenced by BuildEvent(), and Reset().

Double_t OscFit::ArgonData::recoEnu [private]

Definition at line 60 of file ArgonData.h.

Referenced by BuildEvent(), and Reset().

Int_t OscFit::ArgonData::recoFC [private]

Definition at line 66 of file ArgonData.h.

Referenced by BuildEvent(), and Reset().

Double_t OscFit::ArgonData::recoLength [private]

Definition at line 64 of file ArgonData.h.

Referenced by BuildEvent(), and Reset().

Definition at line 72 of file ArgonData.h.

Referenced by Reset().

Int_t OscFit::ArgonData::recoMuon [private]

Definition at line 75 of file ArgonData.h.

Referenced by BuildEvent(), and Reset().

Int_t OscFit::ArgonData::recoNC [private]

Definition at line 77 of file ArgonData.h.

Referenced by BuildEvent(), and Reset().

Int_t OscFit::ArgonData::recoNu [private]

Definition at line 78 of file ArgonData.h.

Referenced by BuildEvent(), and Reset().

Definition at line 79 of file ArgonData.h.

Referenced by BuildEvent(), and Reset().

Definition at line 90 of file ArgonData.h.

Referenced by BuildEvent(), and Reset().

Definition at line 89 of file ArgonData.h.

Referenced by BuildEvent(), and Reset().

Int_t OscFit::ArgonData::recoPC [private]

Definition at line 67 of file ArgonData.h.

Referenced by BuildEvent(), and Reset().

Definition at line 73 of file ArgonData.h.

Referenced by Reset().

Definition at line 71 of file ArgonData.h.

Referenced by Reset().

Int_t OscFit::ArgonData::recoTau [private]

Definition at line 76 of file ArgonData.h.

Referenced by Reset().

Definition at line 68 of file ArgonData.h.

Referenced by BuildEvent(), and Reset().

Definition at line 69 of file ArgonData.h.

Referenced by Reset().

Definition at line 70 of file ArgonData.h.

Referenced by Reset().

Int_t OscFit::ArgonData::resBin0 [private]

Definition at line 83 of file ArgonData.h.

Referenced by Reset().

Int_t OscFit::ArgonData::resBin1 [private]

Definition at line 84 of file ArgonData.h.

Referenced by Reset().

Int_t OscFit::ArgonData::resBin2 [private]

Definition at line 85 of file ArgonData.h.

Referenced by Reset().

Int_t OscFit::ArgonData::resBin3 [private]

Definition at line 86 of file ArgonData.h.

Referenced by Reset().

Int_t OscFit::ArgonData::resBin4 [private]

Definition at line 87 of file ArgonData.h.

Referenced by Reset().

Int_t OscFit::ArgonData::run [private]

Definition at line 28 of file ArgonData.h.

Referenced by BuildEvent(), and Reset().

Definition at line 93 of file ArgonData.h.

Referenced by BuildEvent(), and Reset().

Definition at line 92 of file ArgonData.h.

Referenced by BuildEvent(), and Reset().

Double_t OscFit::ArgonData::trueDirNuX [private]

Definition at line 35 of file ArgonData.h.

Referenced by Reset().

Double_t OscFit::ArgonData::trueDirNuY [private]

Definition at line 36 of file ArgonData.h.

Referenced by Reset().

Double_t OscFit::ArgonData::trueDirNuZ [private]

Definition at line 37 of file ArgonData.h.

Referenced by BuildEvent(), and Reset().

Double_t OscFit::ArgonData::trueEhad [private]

Definition at line 40 of file ArgonData.h.

Referenced by BuildEvent(), and Reset().

Definition at line 49 of file ArgonData.h.

Referenced by Reset().

Double_t OscFit::ArgonData::trueElep [private]

Definition at line 39 of file ArgonData.h.

Referenced by BuildEvent(), and Reset().

Double_t OscFit::ArgonData::trueEnu [private]

Definition at line 38 of file ArgonData.h.

Referenced by BuildEvent(), and Reset().

Int_t OscFit::ArgonData::trueFC [private]

Definition at line 45 of file ArgonData.h.

Referenced by Reset().

Double_t OscFit::ArgonData::trueHeight [private]

Definition at line 42 of file ArgonData.h.

Referenced by BuildEvent(), and Reset().

Definition at line 43 of file ArgonData.h.

Referenced by BuildEvent(), and Reset().

Int_t OscFit::ArgonData::trueMuon [private]

Definition at line 50 of file ArgonData.h.

Referenced by Reset().

Int_t OscFit::ArgonData::trueNC [private]

Definition at line 52 of file ArgonData.h.

Referenced by Reset().

Int_t OscFit::ArgonData::trueNu [private]

Definition at line 53 of file ArgonData.h.

Referenced by Reset().

Definition at line 54 of file ArgonData.h.

Referenced by Reset().

Int_t OscFit::ArgonData::truePC [private]

Definition at line 46 of file ArgonData.h.

Referenced by Reset().

Int_t OscFit::ArgonData::trueTau [private]

Definition at line 51 of file ArgonData.h.

Referenced by Reset().

Definition at line 47 of file ArgonData.h.

Definition at line 48 of file ArgonData.h.

Double_t OscFit::ArgonData::weight [private]

Definition at line 95 of file ArgonData.h.

Referenced by BuildEvent(), and Reset().


The documentation for this class was generated from the following files:

Generated on 16 Jan 2018 for loon by  doxygen 1.6.1