2013-04-01 4 views
0

저는 CERN의 ROOT 프레임 워크를 사용하고 간단한 배열을 저장하고 검색하는 데 어려움을 겪고 있습니다. 내 최선의 방법은 TNTuple 클래스를 사용하는 것 같지만 번호순으로 TNTuple 내부에 저장된 데이터에 쉽게 액세스 할 수있는 방법을 찾을 수 없습니다. 실제로, 내가 뭘하고 싶은건 정확히 일반적으로 수레 배열을 사용하는 방식으로 TNTuple을 사용하거나 쉽게 수레 배열로 TNTuple을 변환합니다. 이 일을 할 수있는 방법이 있습니까?CERN Extract Array from TNTuple

답변

0

대신 배열 클래스 -TArrayF를 사용하는 것이 좋습니다. 매우 간단합니다.

TArrayF

0

TNtuple 예컨대 GetArgs() 통하여 개별 컬럼을 노출

// make dummy ntuple with some data 
TNtuple nt("nt", "", "a:b:c"); 
nt.Fill(0, 0, 0); 
nt.Fill(1, 1, 1); 

// show the data we have 
nt.Scan(); 
************************************************ 
* Row *   a *   b *   c * 
************************************************ 
*  0 *   0 *   0 *   0 * 
*  1 *   1 *   1 *   1 * 
************************************************ 
(Long64_t)2 

for (int row = 0; row < nt.GetEntries(); ++row) { 
    nt.GetEntry(row); 

    // run through a, b, c 
    for (int column = 0; nt.GetNvar(); ++column) { 
     nt.GetArgs()[column]; 
    } 
}