Adding Your Own Classes to ROOT

From: S.J.M. Peeters (Simon.Peeters@cern.ch)
Date: Sat Jan 16 1999 - 19:44:40 MET


Hi ROOTers,

I would like CINT to recognize my class, but it will not, whatever I do.
I followed the example, used the standard MyClass as stated there and that
works. When I use my class (Geometry) it will not recognize it:

root [0] Geometry a;
Error: No symbol Geometrya in current scope  FILE:/var/tmp/aaaa18497
LINE:1
*** Interpreter error recovered ***

I suspect the problems is in the statics I use, but I'm not sure.
Is this the problem? If so, what can I do about it?
If not so, can anybody see the problem?

This is the header file:
(the statics are at the bottom)

#ifndef __GEOMETRY_H__
#define __GEOMETRY_H__

#include "config.h"
#include "TMath.h"

class Geometry
{
private:
   
   int m_dice1;
   int m_dice2;
   int m_dice3;

public:

   Geometry(int dice1, int dice2, int dice3);
   Geometry();

   // set member variables
   void set_dice1(int dice1);
   void set_dice2(int dice2);
   void set_dice3(int dice3);
   
   // return ring number
   // 1 - x
   // Count from IP to outside
   int pixel_barrel_ring(void);
   int pixel_disk_ring(void);
   int sct_barrel_ring(void);
   int sct_disk_ring(void);
   int ring(void);

   // return subring: 0 or 1
   int sct_disk_subring(void);
   int subring(void);

   // return sign z axes of module position
   // pixelbarrel has 0
   int pixel_disk_z_sign(void);
   int sct_disk_z_sign(void);
   int z_sign(void);

   // if (tilt) the module is tilted
   int tilt(void);

   // return r of z coordinate
   float r_ring(void);
   float z_ring(void);

   // return eta at (r,z)
   float eta(float r, float z);

   // return pseudo rapidity range of module
   float D_eta(void);

   // return number of subdetectors in subsystem (for looping)
   int number_of_detectors(void);
   int number_of_subdetectors(void);
   int number_of_rings(void);

   // return code as function of counter (for looping)
   int dice1_code(int cntr);
   int dice2_code(int cntr);
   int dice3_code(int cntr);

   static int m_pixel_b_layer[26];
   static int m_pixel_barrel_1[26];
   static int m_pixel_barrel_2[22];
   static int m_sct_barrel_1[24];
   static int m_sct_barrel_2[24];
   static int m_sct_barrel_3[24];
   static int m_sct_barrel_4[24];
   static int m_pixel_disk_1[8];
   static int m_pixel_disk_2[8];
   static int m_pixel_disk_3[8];
   static int m_pixel_disk_4[4];
   static int m_sct_disk_1[24];
   static int m_sct_disk_2[16];
   static int m_sct_disk_3[24];
   static int m_sct_disk_4[24];
   static int m_sct_disk_5[24];
   static int m_sct_disk_6[24];
   static int m_sct_disk_7[16];
   static int m_sct_disk_8[16];
   static int m_sct_disk_9[8];
   
};
#endif

--
    NIKHEF, National Institute for Nuclear and High Energy Physics
    Kruislaan 409, office H-044 Tel:(+31-20-592) 5140
    P.O. Box 41882, 1009 DB Amsterdam (NL) Fax:(+31-20-592) 5155
    CERN, building 40, office 2-D06 Tel:(+41-22-76) 71157



This archive was generated by hypermail 2b29 : Tue Jan 04 2000 - 00:43:28 MET