HARPO  5.1.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
simbase/testsim.cxx
Go to the documentation of this file.
1 #include "TFile.h"
2 //#include "TTree.h"
3 #include "TClonesArray.h"
4 #include "TCanvas.h"
5 //#include "T.h"
6 
7 #include "TpcSimGeometry.h"
10 #include "TpcSimMCEvent.h"
11 #include "TpcSimEventGenerator.h"
12 
13 #include <iostream>
14 
15 using namespace std;
16 
17 int main()
18 {
19 
20  // TFile* rootfile = new TFile("test.root","recreate");
21 
22  TpcSimIonisationChamber* fIonisationChamber = new TpcSimIonisationChamber();
23  // // TCanvas* c = chamber->GetGeom()->DrawDetector();
24  // // c->SaveAs("geom.png");
25  TpcSimEventGenerator* fEventGenerator = new TpcSimEventGenerator();
26 
27 
28  // TTree* tree = new TTree("tree","tree");
29 
30  TpcSimMCEvent* fEvent = 0;
31  TClonesArray* fIonisation = new TClonesArray("TpcSimIonisationTrack",100);
32  //tree->Bronch("MCEvents", "TpcSimMCEvent", &fEvent);
33  //tree->Bronch("IonisationTracks", "TClonesArray", &fIonisation);
34 
35  // fDigi->Reset();
36  // fDriftChamber->Reset();
37 
38  for(Int_t iEv = 0; iEv<10; iEv++){
39  //fIonisationChamber->Reset();
40 
41  // TpcSimMCEvent* ev
42  fEvent = fEventGenerator->GenerateEvent();
43  //fNevts++;
44  Int_t nTr = fEvent->GetNtracks();
45  // if(nTr<=0){
46  // if(gHarpoDebug>0) Info("NextEvent","Empty event %d",iEv);
47  // return false;
48  // }
49 
50  //fEvent->SetMCEvent(ev);
51  for(Int_t iTr = 0; iTr<nTr; iTr++){
52 
53  TpcSimIonisationTrack* tr = fIonisationChamber->GenerateTrack(fEvent->GetTrack(iTr));
54  //fEvent->AddTrack(tr);
55  new((*fIonisation)[iTr]) TpcSimIonisationTrack(*tr);
56 
57  // fDriftChamber->ProcessTrack(tr);
58 
59  // TpcSimStrips* strips = fDriftChamber->GetStrips();
60  // fEvent->AddStrips(iTr,strips);
61  // fDigi->Add(strips);
62 
63  }
64  //tree->Fill();
65  // array->Delete();
66  fEvent->Delete();
67  fIonisation->Delete();
68  }
69 
70  // for(Int_t ev = 0; ev<10; ev++){
71  // cout << "EVENT " << ev << endl;
72  // event = evgen->GenerateEvent();
73  // event->GenerateEvent();
74  // Int_t ntracks = event->GetNtracks();
75  // for(Int_t tr = 0; tr<ntracks; tr++){
76  // cout << " " << tr << endl;
77 
78  // TpcSimTrack* trackA = new((*array)[tr]) TpcSimTrack(0,0,10,1,1,1,0,1,ev,tr);
79  // TpcSimTrack* trackB = event->GetSimTrack(tr);
80 
81  // trackA->SetChamber(chamber);
82  // trackB->SetChamber(chamber);
83 
84  // trackA->GenerateTrack();
85  // trackB->GenerateTrack();
86  // }
87  // tree->Fill();
88  // array->Delete();
89  // event->Delete();
90 
91  // }
92 
93  //tree->Write();
94  //rootfile->Close();
95 
96  return 0;
97 }
TpcSimIonisationTrack * GenerateTrack(TpcSimMCTrack *tr)
Int_t GetNtracks()
TpcSimMCTrack * GetTrack(Int_t i)
Definition: TpcSimMCEvent.h:91
int main()
TpcSimMCEvent * GenerateEvent(Int_t seed=0)