BRAT 2.4.5
Class index
Full class index
brahmlib
BRAHMS
ROOT page

BrChkvParameters


class description - source file - inheritance tree

class BrChkvParameters : public BrDetectorParamsBase

    private:
void MakeC1Map() void MakeRICHMap() Bool_t TestRange(Int_t x, Int_t y) const public:
BrChkvParameters BrChkvParameters() BrChkvParameters BrChkvParameters(Char_t* name, Char_t* title) BrChkvParameters BrChkvParameters(Char_t* name, Char_t* title, Char_t* asciifilename) BrChkvParameters BrChkvParameters(BrChkvParameters&) virtual void ~BrChkvParameters() static TClass* Class() virtual Int_t GetClosestTube(Double_t x, Double_t y) const virtual Int_t GetClosestTube(const BrVector3D& hit) const virtual Int_t GetNoTubes() const virtual Int_t GetNoTubesX() const virtual Int_t GetNoTubesY() const virtual BrVector3D GetTubePosition(Int_t) const virtual Double_t GetTubeSize() const virtual Int_t GetTubeWithDirection(Int_t, Int_t, Int_t) const virtual Double_t GetXOffset() const virtual Double_t GetYOffset() const virtual TClass* IsA() const virtual void ListParameters() const virtual void Print(Option_t* option) const virtual void SetASCIIParameters(Char_t* line) virtual void SetDefaultParameters() virtual void SetDefaultParams() virtual void SetNoTubes(const Int_t n) virtual void SetNoTubesX(const Int_t n) virtual void SetNoTubesY(const Int_t n) virtual void SetTubeSize(Double_t value) virtual void SetXOffset(Double_t value) virtual void SetYOffset(Double_t value) virtual void ShowMembers(TMemberInspector& insp, char* parent) virtual void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b)

Data Members

    private:
Int_t fNoTubes Number of tubes in Cherenkov detector Int_t fNoTubesX Number of tubes in x direction (columns) Int_t fNoTubesY Number of tubes in y direction (rows) Double_t fTubeSize They are squares so only 1 dimension is needed Double_t fXOffset Double_t fYOffset Int_t* fXArrayNumber Gives the internal x-coordinate for tube i-1 Int_t* fYArrayNumber Gives the internal y-coordinate for tube i-1 Int_t** fXYTube Gives the tubeno-1 for internalcoordinates(x,y) Float_t fXArrayXPos[20] x position of x array (only for RICH) Float_t fYArrayYPos[16] y position of y array (only for RICH)

Class Description


BrChkvParameters()
 Constructor: DO NOT USE
 Use BrDetectorParams(Char_t, Char_t ) instead

BrChkvParameters(Char_t *name, Char_t *title) : BrDetectorParamsBase(name, title)
 Standard constructor.
 the name should be that of the associated detector
 e.g. "C1" or "RICH"

BrChkvParameters(Char_t *name, Char_t *title, Char_t *filename) : BrDetectorParamsBase(name, title, filename)
 Constructor which also reads parameters in from a configuration file
 the name should be that of the associated detector
 e.g. "C1" or "RICH"

~BrChkvParameters()
 Default destructor

void SetDefaultParameters()
 Set a set of reasonable default parameters.
 This is mainly to ensure that the private members are
 initialized with values that do not give rise to any
 problems in the methods which uses these parameters;


void SetASCIIParameters(Char_t *line)
 Interpret a line for DC params.  Form is ParamName:value.  Eg
 Eg fTwopar:.20 or fEff:  0.95

void MakeC1Map()
 C1 mapping

 There are 32 (8 (x) * 4 (y))

 The mapping is as follows :

   Internal tube numbering and position
   y/x   0   1   2   3   4   5   6   7
     3   8   9  10  11  12  13  14  15
     2   0   1   2   3   4   5   6   7
     1  16  17  18  19  20  21  22  23
     0  24  25  26  27  28  29  30  31

  NB!!!!
  When you give tubenumbers to the other methods they
  should be from 1-32.

 Each readout section is 2.5 inch * 2.5 inch

void MakeRICHMap()
 RICH mapping

 There are 320 (20 (x) * 16 (y))

 The mapping is as follows seen from the particle going from the
 mirror towards the detector :

 They are grouped in groups of 4 as this

               ....  09-12
   ..... 69-72 37-40 05-08
   ..... 65-68 33-36 01-04

 Note that 01-04 and 289-292 (lower corners) are not instrumented

 Additional notes :
 The mirror is spherical
          -------
                 <- focal length = 150 cm
 ______________   (center mirror to center readout plane)
                   (the angle is 2*9 degrees)
 (mirror and perpendicalr is 9 degrees)

 Each pixel is 1.2 cm * 1.2 cm

BrVector3D GetTubePosition(Int_t tubeNo) const
 Returns the xy position of the tube with respect to
 C1 - the backplane
 RICH - the pixeldetector plane

Int_t GetClosestTube(Double_t x, Double_t y) const
 NB: only valid for C1 !!!!!!!!!!!!!
 Return the tube number of the tube closest to the point
 (x, y) on
 C1 - the backplane
 RICH - the pixeldetector plane

Int_t GetTubeWithDirection(Int_t tubeNo, Int_t x, Int_t y) const
 Returns the tube no which are sitting in the direction
 x, y from tubeNo
 For C1 we have the map (Do Print("m") to get a pic)
   y/x   0   1   2   3   4   5   6   7
     3   9  10  11  12  13  14  15  16
     2   1   2   3   4   5   6   7   8
     1  17  18  19  20  21  22  23  24
     0  25  26  27  28  29  30  31  32

   ******************************************************
   Watch it!!!! The internal fXArray, fYArray and fXYTube
   numbering is different!:
   ******************************************************

   Internal tube numbering and position
   y/x   0   1   2   3   4   5   6   7
     3   8   9  10  11  12  13  14  15
     2   0   1   2   3   4   5   6   7
     1  16  17  18  19  20  21  22  23
     0  24  25  26  27  28  29  30  31

Bool_t TestRange(Int_t x, Int_t y) const
 Test if the index in the xy array is out of range
 If out of range return kFALSE else return kTRUE

void Print(Option_t *option="") const
 The print method
 options :
 m - also print tube mapping
 d - print author/date/lastmodified etc.



Inline Functions


                    void ListParameters() const
                    void SetDefaultParams()
                   Int_t GetNoTubes() const
                   Int_t GetNoTubesX() const
                   Int_t GetNoTubesY() const
                Double_t GetTubeSize() const
                Double_t GetXOffset() const
                Double_t GetYOffset() const
                   Int_t GetClosestTube(const BrVector3D& hit) const
                    void SetNoTubes(const Int_t n)
                    void SetNoTubesX(const Int_t n)
                    void SetNoTubesY(const Int_t n)
                    void SetTubeSize(Double_t value)
                    void SetXOffset(Double_t value)
                    void SetYOffset(Double_t value)
                 TClass* Class()
                 TClass* IsA() const
                    void ShowMembers(TMemberInspector& insp, char* parent)
                    void Streamer(TBuffer& b)
                    void StreamerNVirtual(TBuffer& b)
        BrChkvParameters BrChkvParameters(BrChkvParameters&)

This page automatically generated by script docBrat by Christian Holm

Copyright ; 2002 BRAHMS Collaboration <brahmlib@rcf.rhic.bnl.gov>
Last Update on 2001/09/24 07:10:50 $ by ekman $

Validate HTML
Validate CSS