Logo Coherent WaveBurst  
Reference Guide
Logo
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
TestSetGetTreeDetector.C
Go to the documentation of this file.
1 //
2 // Test set/get detector info to/from tree
3 // Author : Gabriele Vedovato
4 
5 {
6 
7  #define N_IFO 9
8 
9  // V1
10  detectorParams dP[N_IFO] = {{"X1", 43.6314, 10.5045, 0.0, 0, 90, 0, 30},
11  {"X2", 43.6314, 10.5045, 0.0, 0, 150, 0, -150},
12  {"X3", 43.6314, 10.5045, 0.0, 0, -90, 0, -30},
13 
14  // L1
15  {"Y1", 30.5629, -90.7742, 0.0, 0, 90, 0, 30},
16  {"Y2", 30.5629, -90.7742, 0.0, 0, 150, 0, -150},
17  {"Y3", 30.5629, -90.7742, 0.0, 0, -90, 0, -30},
18 
19  // H1
20  {"Z1", 46.4551, -119.408, 0.0, 0, 90, 0, 30},
21  {"Z2", 46.4551, -119.408, 0.0, 0, 150, 0, -150},
22  {"Z3", 46.4551, -119.408, 0.0, 0, -90, 0, -30},
23  };
24 
25  TFile ofile("test_streamer.root","RECREATE");
26  TTree *otree = new TTree("tree", "tree");
27 
29 
30  for(int n=0;n<N_IFO;n++) {
31  pD[n] = new detector(dP[n]);
32  otree->GetUserInfo()->Add(pD[n]);
33  }
34  otree->Write();
35  ofile.Close();
36 
37  TFile ifile("test_streamer.root");
38  TTree* itree = (TTree *) gROOT->FindObject("tree");
39  TList* list = itree->GetUserInfo();
40  for (int n=0;n<list->GetSize();n++) {
41  detector* pDetector = (detector*)list->At(n);
42  detectorParams dParams = pDetector->getDetectorParams();
43  if(n==0) pDetector->print();
44  cout << dParams.name << endl;
45  //cout << pDetector->Name << endl;
46  }
47  ifile.Close();
48 
49  //detector V1("V1");
50  //V1.print();
51 
52  exit(0);
53 }
54 
detectorParams getDetectorParams()
Definition: detector.cc:201
TList * list
exit(0)
char name[32]
Definition: detector.hh:32
int n
Definition: cwb_net.C:10
TTree * itree
TTree * otree
TFile ifile("test_streamer.root")
#define N_IFO
detector * pD[N_IFO]
TFile ofile("test_streamer.root","RECREATE")
void print()
Definition: detector.cc:1768