Hi,
Sorry. The semicolon and const unsigned int are fine. I was careless with my copy/pasting. However, as you stated, the issue is most likely with my declaration. I have members of my base class (BranchBase) that are of type vector<vector > *var1 and vector<vector > *var2. So in the header file of my base class, I have
#include
#ifdef MAKECINT
#pragma link C++ class std::vector < std::vector >+;
#pragma link C++ class std::vector < std::vector >+;
#endif
Of my 2 derived classes, one has these vector<vector > *var1 and vector<vector > *var2 variables, and it compiles just fine. However, its the derived class with no members that are vectors that crashes. This is the class from which the first post’s text is taken from.
(TrigGlobalBranch.h header file)
#ifndef TrigGlobalBranch_h
#define TrigGlobalBranch_h
#define min_pt 500
#define MAXTRK 100000
#ifndef BranchBase_h
#include "BranchBase.h"
#endif
#include "TVector3.h"
#include <string>
class TrigGlobalBranch : public BranchBase {
public:
TrigGlobalBranch();
~TrigGlobalBranch(){}
void Set_Trig_and_Global_Branches(TTree *MyTree);
void Fill_Trig_and_Global_Branches();
float Theta(float nu_pz, float nu_px, float nu_py, float nu_pt);
float Eta(float nu_theta);
TVector3 missP(float trkThresh);
private:
static const int L1_Trigs_TBP[15];
static const unsigned int L1_Trigs_TBP_id[15];
static const string L1_Trig_TBP_Names [15];
static const int L1_Trigs[15];
static const unsigned int L1_Trigs_id[15];
static const string L1_Trig_Names[15];
static const int EF_Trigs[36];
static const unsigned int EF_Trigs_id[36];
static const string EF_Trig_Names [36];
Float_t Myvx_x,Myvx_y;
Float_t Myvx_z;
Float_t Psi_Et_N,Psi_Et_P,Psi_E_N,Psi_E_P;
Float_t Centrality;
TVector3 vSum;
Float_t nu_pt500;
Float_t nu_px500;
Float_t nu_py500;
Float_t nu_pz500;
TVector3 lvTrk;
};
#endif
(first few lines of TrigGlobalBranch.C where array initializations take place. no vector types in this source code)
const unsigned int TrigGlobalBranch::L1_Trigs_TBP_id[15]={138,192,36,35,93,91,88,92,133,41,43,228,223,224,15};
const int TrigGlobalBranch::L1_Trigs_TBP[15] = {0};
const string TrigGlobalBranch::L1_Trig_TBP_Names[15]={"L1_TE50" , // 1 138
"L1_ZDC_A_C" , // 2 192
"L1_ZDC_A_C_VTE50" , // 3 36
"L1_MU0_VTE50" , // 4 35
"L1_MU4" , // 5 93
"L1_MU11" , // 6 91
"L1_MU15" , // 7 88
"L1_MU20" , // 8 92
"L1_TE10" , // 9 133
"L1_MU0_TE50" , //10 41
"L1_MU4_TE50" , //11 43
"L1_MBTS_1_1" , //12 228
"L1_MBTS_2_2" , //13 223
"L1_MBTS_3_3" , //14 224
"L1_MBTS_4_4" };//15 15
const unsigned int TrigGlobalBranch::L1_Trigs_id[15]={138,192,36,35,93,91,88,92,133,41,43,228,223,224,15};
const int TrigGlobalBranch::L1_Trigs[15] = {0};
const string TrigGlobalBranch::L1_Trig_Names[15]={"L1_TE50" , // 1 138
"L1_ZDC_A_C" , // 2 192
"L1_ZDC_A_C_VTE50" , // 3 36
"L1_MU0_VTE50" , // 4 35
"L1_MU4" , // 5 93
"L1_MU11" , // 6 91
"L1_MU15" , // 7 88
"L1_MU20" , // 8 92
"L1_TE10" , // 9 133
"L1_MU0_TE50" , //10 41
"L1_MU4_TE50" , //11 43
"L1_MBTS_1_1" , //12 228
"L1_MBTS_2_2" , //13 223
"L1_MBTS_3_3" , //14 224
"L1_MBTS_4_4" };//15 15
const unsigned int TrigGlobalBranch::EF_Trigs_id[36]={750,4152,935,937,288,286,684,685,837,801,802,834,803,819,945,944,815,814,836,759,757,758,762,760,761,753,751,752,818,816,817,756,754,755,701,700};
const int TrigGlobalBranch::EF_Trigs[36] = {0};
const string TrigGlobalBranch::EF_Trig_Names[36]={"EF_L1TE50_NoAlg" , // 1 750
"EF_L1ItemStreamer_L1_TE50" , // 2 4152
"EF_mbZdc_a_c_L1VTE50_trk" , // 3 935
"EF_mu4_L1VTE50" , // 4 937
"EF_L1MU4_NoAlg" , // 5 288
"EF_L1MU11_NoAlg" , // 6 286
"EF_L1MU15_NoAlg" , // 7 684
"EF_L1MU20_NoAlg" , // 8 685
"EF_mu4_MSonly_j15_a2hi_EFFS_L1TE10", //9 837
"EF_mu10_MSonly_EFFS_L1ZDC" , //10 801
"EF_mu13_MSonly_EFFS_L1ZDC" , //11 802
"EF_2mu2_MSonly_EFFS_L1ZDC" , //12 834
"EF_2mu4_MSonly_EFFS_L1ZDC" , //13 803
"EF_mu4_mu2_MSonly_EFFS_L1ZDC" , //14 819
"EF_mu4_MSonly_L1TE50" , //15 945
"EF_mu4T_MSonly_L1TE50" , //16 944
"EF_mu4_MSonly_EFFS_L1TE50" ,//17 815
"EF_mu4_MSonly_EFFS_L1TE20" ,//18 814
"EF_mu4_MSonly_EFFS_L1TE10" ,//19 836
"EF_mu10_MSonly_EFFS_L1TE50" ,//20 759
"EF_mu10_MSonly_EFFS_L1TE10" ,//21 757
"EF_mu10_MSonly_EFFS_L1TE20" ,//22 758
"EF_mu13_MSonly_EFFS_L1TE50" ,//23 762
"EF_mu13_MSonly_EFFS_L1TE10" ,//24 760
"EF_mu13_MSonly_EFFS_L1TE20" ,//25 761
"EF_2mu2_MSonly_EFFS_L1TE50" ,//26 753
"EF_2mu2_MSonly_EFFS_L1TE10" ,//27 751
"EF_2mu2_MSonly_EFFS_L1TE20" ,//28 752
"EF_2mu4_MSonly_EFFS_L1TE50" ,//29 818
"EF_2mu4_MSonly_EFFS_L1TE10" ,//30 816
"EF_2mu4_MSonly_EFFS_L1TE20" ,//31 817
"EF_mu4_mu2_MSonly_EFFS_L1TE50" ,//32 756
"EF_mu4_mu2_MSonly_EFFS_L1TE10" ,//33 754
"EF_mu4_mu2_MSonly_EFFS_L1TE20" ,//34 755
"EF_mu6_MSonly_L1TE50" ,//35 701
"EF_mu6_L1VTE50" ,//36 700
};
maybe I need to add to the TrigGlobalBranch header
#include
#ifdef MAKECINT
#pragma link C++ class std::vector < std::vector >+;
#endif
???