36 {
37
38 MsgStream log(
msgSvc(),
"TreeMdcCalibDataCnv" );
39 log << MSG::DEBUG << "SetProperty" << endmsg;
40 CalibData::MdcCalibData* tmpObject = new CalibData::MdcCalibData;
41 TreeAddress* add = dynamic_cast<TreeAddress*>( addr );
42 DatabaseRecord* records = add->
pp();
43
44 TBufferFile* buf1 = new TBufferFile( TBuffer::kRead );
45 TBufferFile* buf2 = new TBufferFile( TBuffer::kRead );
46 TBufferFile* buf3 = new TBufferFile( TBuffer::kRead );
47 TBufferFile* buf4 = new TBufferFile( TBuffer::kRead );
48 TBufferFile* buf5 = new TBufferFile( TBuffer::kRead );
49 TBufferFile* buf6 = new TBufferFile( TBuffer::kRead );
50
51 buf1->SetBuffer( ( *records )["XtTree"], 512000, kFALSE );
52 buf2->SetBuffer( ( *records )["QtTree"], 512000, kFALSE );
53 buf3->SetBuffer( ( *records )["T0Tree"], 512000, kFALSE );
54 buf4->SetBuffer( ( *records )["SdTree"], 512000, kFALSE );
55 buf5->SetBuffer( ( *records )["NewXtTrees"], 51200000, kFALSE );
56 buf6->SetBuffer( ( *records )["R2tTrees"], 25600000, kFALSE );
57
58 std::cout << " SftVer is " << ( *records )["SftVer"] << std::endl;
59 std::cout << "TreeMdcCalibDataCnv: CalVerSft is " << ( *records )["CalParVer"] << std::endl;
60 std::cout << "TreeMdcCalibDataCnv: Calib file name is " << ( *records )["FileName"]
61 << std::endl;
62
63 bool debug = std::string( ( *records )["FileName"] ) ==
64 std::string( "MdcCalibConst_9810_10878_662b.root" );
65
66 TTree* xttree = new TTree();
67 xttree->Streamer( *buf1 );
68
69 TTree* qttree = new TTree();
70 qttree->Streamer( *buf2 );
71
72 TTree* t0tree = new TTree();
73 t0tree->Streamer( *buf3 );
74
75 TTree* sdtree = new TTree();
76 sdtree->Streamer( *buf4 );
77
78 TObjArray newxttrees;
79 DatabaseRecord::iterator it = ( *records ).find( "NewXtTrees" );
80 if ( it != ( *records ).end() )
81 {
82 if ( ( *it ).second != NULL ) { newxttrees.Streamer( *buf5 ); }
83 }
84
85 TObjArray r2ttrees;
86 it = ( *records ).find( "R2tTrees" );
87 if ( it != ( *records ).end() )
88 {
89 if ( ( *it ).second != NULL ) { r2ttrees.Streamer( *buf6 ); }
90 }
91
92
93 int i;
95
96
97 double xtpar;
98 int xtkey;
99 xttree->SetBranchAddress( "xtpar", &xtpar );
100 xttree->SetBranchAddress( "xtkey", &xtkey );
103 {
104 xttree->GetEntry( i );
105 tmpObject->
setXtpar( xtkey, xtpar );
106 }
107
108
109 if ( ( 43 * 18 * 2 ) == newxttrees.GetEntries() )
110 {
112 for ( int i = 0; i < 43 * 18 * 2; i++ )
113 {
114 TTree* tempTree = (TTree*)newxttrees.At( i );
115 delete tempTree;
116 }
117 }
118
119 if ( 43 == r2ttrees.GetEntries() )
120 {
122 for ( int i = 0; i < 43; i++ )
123 {
124 TTree* tempTree = (TTree*)r2ttrees.At( i );
125 delete tempTree;
126 }
127 }
128
129
130 double t0;
131 double delt0;
132 t0tree->SetBranchAddress( "t0", &t0 );
133 t0tree->SetBranchAddress( "delt0", &delt0 );
136 {
137 t0tree->GetEntry( i );
138 tmpObject->
setT0( t0 );
140 }
141
142 double qtpar0;
143 double qtpar1;
144 qttree->SetBranchAddress( "qtpar0", &qtpar0 );
145 qttree->SetBranchAddress( "qtpar1", &qtpar1 );
148 {
149 qttree->GetEntry( i );
152 }
153
154
155 double sdpar;
156 int sdkey;
157 sdtree->SetBranchAddress( "sdpar", &sdpar );
158 sdtree->SetBranchAddress( "sdkey", &sdkey );
160
162 {
163 sdtree->GetEntry( i );
164 tmpObject->
setSdpar( sdkey, sdpar );
165 }
166
167 refpObject = tmpObject;
168 delete xttree;
169 delete qttree;
170 delete t0tree;
171 delete sdtree;
172
173 delete buf1;
174 delete buf2;
175 delete buf3;
176 delete buf4;
177 delete buf5;
178 delete buf6;
179
180 return StatusCode::SUCCESS;
181}
void setR2tpar(TObjArray *r2tTrees)
void setQtpar1(double val)
void setXtpar(int xtkey, double val)
void setNewXtpar(TObjArray *newXtTrees)
void setSdpar(int sdkey, double val)
void setDelT0(double val)
void setQtpar0(double val)
virtual DatabaseRecord * pp()