281 output_file =
new char[256];
282 sprintf(output_file,
"%s", input_file );
283 char* ext = strrchr(output_file,
'.') ;
284 sprintf(ext,
".cp.root\0");
288 TFile *
o =
new TFile( output_file,
"RECREATE");
290 couples =
new TTree(
"couples",
"couples");
297 couples->Branch(
"cp" ,
"EdbSegCouple" , &
cp ,32000 ,99 ) ;
298 couples->Branch(
"s1." ,
"EdbSegP" , &
s1 ,32000 ,99 ) ;
299 couples->Branch(
"s2." ,
"EdbSegP" , &
s2 ,32000 ,99 ) ;
300 couples->Branch(
"s." ,
"EdbSegP" , &
s ,32000 ,99 ) ;
328 fstream infile(input_file, ios::in | ios::binary);
331 infile.read( (Char_t*) &
infotype ,
sizeof(Char_t) );
332 infile.read( (Char_t*) &
headerformat ,
sizeof(UShort_t) );
346 default: { cout <<
"Unknown format\n";
return ; }
351 infile.read( (Char_t*) &dummych ,
sizeof(Char_t) );
354 cout <<
"The first section in a TLG file must contain tracks!" << endl;
357 infile.read( (Char_t*) &dummyd ,
sizeof(Double_t) );
382 infile.read( (Char_t*) &
Center::X ,
sizeof(Double_t) );
383 infile.read( (Char_t*) &
Center::Y ,
sizeof(Double_t) );
400 infile.read( (Char_t*) &
Top_TopZ ,
sizeof(Double_t) );
401 infile.read( (Char_t*) &
Top_BottomZ ,
sizeof(Double_t) );
402 infile.read( (Char_t*) &
Bottom_TopZ ,
sizeof(Double_t) );
405 using namespace View ;
406 for (
int s=0;
s<2;
s++ ) {
408 for (
int i=0; i<nviews; i++ ) {
409 infile.read( (Char_t*) &
id ,
sizeof(Int_t) );
410 infile.read( (Char_t*) &px ,
sizeof(Double_t) );
411 infile.read( (Char_t*) &py ,
sizeof(Double_t) );
412 infile.read( (Char_t*) &topz ,
sizeof(Double_t) );
413 infile.read( (Char_t*) &bottomz ,
sizeof(Double_t) );
425 for (
int s=0;
s<2;
s++ ) {
428 for (
int i=0; i<ntracks; i++ ) {
430 infile.read( (Char_t*) &
Field ,
sizeof(UInt_t) );
431 infile.read( (Char_t*) &
AreaSum ,
sizeof(UInt_t) );
432 infile.read( (Char_t*) &
Count ,
sizeof(UInt_t) );
433 infile.read( (Char_t*) &
X ,
sizeof(Double_t) );
434 infile.read( (Char_t*) &
Y ,
sizeof(Double_t) );
435 infile.read( (Char_t*) &
Z ,
sizeof(Double_t) );
436 infile.read( (Char_t*) &
SX ,
sizeof(Double_t) );
437 infile.read( (Char_t*) &
SY ,
sizeof(Double_t) );
438 infile.read( (Char_t*) &
SZ ,
sizeof(Double_t) );
439 infile.read( (Char_t*) &
Sigma ,
sizeof(Double_t) );
440 infile.read( (Char_t*) &
TopZ ,
sizeof(Double_t) );
441 infile.read( (Char_t*) &
BottomZ ,
sizeof(Double_t) );
442 infile.read( (Char_t*) &
viewid ,
sizeof(Int_t) );
469 for (
int s=0;
s<2;
s++ ) {
471 for (
int i=0; i<ntracks; i++ )
484 infile.read( (Char_t*) &
Center::X ,
sizeof(Double_t) );
485 infile.read( (Char_t*) &
Center::Y ,
sizeof(Double_t) );
490 infile.read( (Char_t*) &
dummyf ,
sizeof(Float_t) );
496 infile.read( (Char_t*) &dummyui ,
sizeof(UInt_t) );
499 infile.read( (Char_t*) &
Top_TopZ ,
sizeof(Double_t) );
500 infile.read( (Char_t*) &
Top_BottomZ ,
sizeof(Double_t) );
501 infile.read( (Char_t*) &
Bottom_TopZ ,
sizeof(Double_t) );
503 infile.read( (Char_t*) &dummych ,
sizeof(Char_t) );
504 infile.read( (Char_t*) &dummych ,
sizeof(Char_t) );
509 for (
int s=0;
s<2;
s++ ) {
512 for (
int i=0; i<ntracks; i++ ) {
514 infile.read( (Char_t*) &
Field ,
sizeof(UInt_t) );
515 infile.read( (Char_t*) &
AreaSum ,
sizeof(UInt_t) );
516 infile.read( (Char_t*) &
Count ,
sizeof(UInt_t) );
517 infile.read( (Char_t*) &
X ,
sizeof(Double_t) );
518 infile.read( (Char_t*) &
Y ,
sizeof(Double_t) );
519 infile.read( (Char_t*) &
Z ,
sizeof(Double_t) );
520 infile.read( (Char_t*) &
SX ,
sizeof(Double_t) );
521 infile.read( (Char_t*) &
SY ,
sizeof(Double_t) );
522 infile.read( (Char_t*) &
SZ ,
sizeof(Double_t) );
523 infile.read( (Char_t*) &
Sigma ,
sizeof(Double_t) );
524 infile.read( (Char_t*) &
TopZ ,
sizeof(Double_t) );
525 infile.read( (Char_t*) &
BottomZ ,
sizeof(Double_t) );
546 for (
int j=0; j<6; j++)
547 infile.read( (Char_t*) &dummyd ,
sizeof(Double_t) );
557 for (
int s=0;
s<2;
s++ ) {
559 for (
int i=0; i<ntracks; i++ )
return
Definition: energy.C:49
AcqOdyssey * o
Definition: hwinit.C:2
Float_t dummyf
Definition: merge_Energy_SytematicSources_Electron.C:9
@ Track
Definition: tlg2pattern.C:53
@ Field
Definition: tlg2pattern.C:53
@ Header
Definition: tlg2pattern.C:54
UInt_t id
Definition: tlg2pattern.C:118
void Add_MIPBaseTrack(int i, float project_dz=-105.)
Definition: tlg2couples.C:234
void print_Header()
Definition: tlg2couples.C:141
void Add_MIPEmulsionTrack(en_side side, int i)
Definition: tlg2couples.C:202
en_side
Definition: tlg2pattern.C:37