ROOT 가이드

Branch에 TObject 저장하기

TObject 저장하기

TObject를 상속하는 클래스를 Branch에 저장할떄는 Branch 함수에서 [전달변수] 전에 [클래스이름]을 써준다. 아래는 TVector3를 저장하는 예제다.

TVector3 v;
tree -> Branch("position","TVector3",&v);
그런데 사실은 TObject 또한 보통 변수와 같이 설정을 해도 작동한다는 비밀이 있다.
TVector3 v;
tree -> Branch("position",&v);

TObject 배열 저장하기

위와 같은 이유로 TObject의 배열인 TObjArray, TClonesArray 클래스의 경우에도 TObject를 상속하므로 복잡하게 생각하지 않고 똑같이 설정을 할 수 있다.

TClonesArray *array = new TClonesArray("MyClass",100);
tree -> Branch("arrayOfSomthing",&array);
단, TClonesArray는 받아오는 경우의 전달변수로 만들 때 nullptr로 초기화를 해주어야 한다.
TClonesArray *array = nullptr;
tree -> SetBranchAddress("arrayOfSomthing",&array);

댓글

댓글 본문
작성자
비밀번호
버전 관리
ejungwoo
현재 버전
선택 버전
graphittie 자세히 보기