ROOT 가이드

ROOT 실행, 커맨드 라인과 매크로

ROOT를 사용하는 방법은 여러가지가 있다. 여기서는 두가지 방법만 다룬다.

1. 기본 실행, 커맨드 라인

기본적으로 ROOT 실행 명령어는 root 다.

> root 
root []

위와 같이 터미널에서 ROOT를 실행하면 'root [0]'로 시작하는 ROOT 커맨드 라인이 나온다. ROOT를 실행할 때 루트 로고와 정보가 뜨는데 이 과정이 매우 오래 걸려서 기본으로 이 과정을 끄는 옵션(-l)을 사용하는 것을 추천한다.

> root -l
root []

ROOT는 c++ 패키지 이기도 하지만 동시에 C++ Interpreter 이기도 하다. 따라서 사용자는 여기서 바로 코드를 작성하는 것이 가능하다.

root [] 1+1
(int) 2
root [] 

ROOT 커맨드 라인을 종료하는 명령어는 '.q' 다.

root [] .q
>

2. 매크로 파일을 ROOT로 실행

매크로 파일 실행은 root 명령 이후에 파일 이름을 입력하면 된다.

> root macro.C

위와 같은 실행은 기본적으로 인터프리터를 사용하는데 컴파일을 위해서는 파일 이름 뒤에 '+'를 붙인다.

> root macro.C+

매개변수를 넣는 것도 가능하다.

> root 'macro.C(37,"neo")'
> root macro.C\(37\)

 파일을 실행할 때 아래와 같은 옵션을 사용할 수 있다.

  • -q : 파일 실행후 ROOT를 종료
  • -b : 그래픽을 사용하지 않음
  • -l : ROOT 로고와 정보 스크린을 띄우지 않음

더 많은 옵션은 다음을 참고하자.


컴파일러(Compiler), 인터프리터(Interpreter)

보통 c++를 이용하여 프로그래밍을 하는 경우 1)코드 작성, 2)코드 컴파일, 3)프로그램 실행의 과정을 거친다. 이 과정은 기본적으로 코드가 완성되어 있어야 한다. 인터프리터는 코드를 한줄씩 실행을 할 수 있도록 해주는 프로그램이다. ROOT는 c++ 인터프리터인 Cling을 적용하였고 ROOT 커맨드 라인을 통해서 이용할 수 있다.  매크로를 이용하는 경우 문법이 엄격하게 적용되어 매크로를 사용하는 경우 파일 전체에 대한 문법검사를 실행한 후에 프로그램을 돌리도록 변경되었다. 하지만 이 경우도 컴파일을 하는 것에 비해 완벽한 문법검사가 되지 않는다는 것을 알아두자.

ROOT를 사용하면서 간단한 테스트를 하는 경우에는 인터프리터를 이용하고 중요한 결과를 낼 때에는 코드를 컴파일을 하여 실행하는 것을 추천한다.


ROOT 매크로 

기존 c++ 메인 함수는 이름이 main이지만 ROOT 매크로의 경우 메인 함수의 이름은 매크로 파일의 이름에서 확장자를 제외한 이름과 같아야 한다. 예를 들어 파일의 이름이 macro.C 라면, 메인함수의 이름은 macro 가 된다.

macro.C
void macro() {
    cout << "Hello ROOT!" << endl;
}

장단점이 있겠지만 ROOT는 coutendl 을 사용하기 위해서 필요한 iostream 이미 추가 되어있다. 이는 컴파일을 하지 않고 인터프리터를 사용하는 경우에만 해당된다. 이 외에는 기본적인 c++ 프로그램 작성방법과 동일하다.

> root macro.C 
root [0] 
Processing macro.C...
Hello ROOT!
root [1] 

댓글

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