EEezTower


class description - source file - inheritance tree

class EEezTower : public TObject


    public:
EEezTower() EEezTower(const EEezTower&) virtual ~EEezTower() void addNeighbor(EEezTower* n) void addNeighborSeed(EEezTower* n) void addUStrip(EEezStrip* strip) void addVStrip(EEezStrip* strip) static TClass* Class() void clear() Float_t getAdc(Int_t det = 0) Float_t getEnergy(Int_t det = 0) Int_t getEtabin() Int_t getIndex() Float_t getMeanU() Float_t getMeanV() Float_t getMomentU(Int_t n) Float_t getMomentV(Int_t n) const Char_t* getName() const EEezTower* getNeighbor(Int_t n) EEezTowerPtrVec_t getNeighbors() EEezTowerPtrVec_t getNeighborSeeds() Int_t getNNeighbors() Int_t getNNeighborSeeds() Int_t getNUHitStrips() Int_t getNUStrips() Int_t getNVHitStrips() Int_t getNVStrips() Int_t getPhibin() void getRangeU(Int_t& umin, Int_t& umax) void getRangeV(Int_t& vmin, Int_t& vmax) Float_t getRawAdc(Int_t det = 0) Int_t getSector() Int_t getSubSector() Float_t getSumMipU() Float_t getSumMipV() Float_t getSumNeighbors(Int_t split = 0) Float_t getSumNeighborSeeds() EEezStrip* getUStrip(Int_t i) EEezStripPtrVec_t* getUStrips() EEezStrip* getVStrip(Int_t i) EEezStripPtrVec_t* getVStrips() virtual TClass* IsA() const void print() void printLine() void printNeighbors() void removeFrom(EEezTowerPtrVec_t* list) void setAdc(Float_t a, Int_t det) void setEnergy(Float_t e, Int_t det) void setIndex(Int_t idx) void setIndex(Int_t phibin, Int_t etabin) void setRawAdc(Float_t a, Int_t det) void setSeed() virtual void ShowMembers(TMemberInspector& insp, char* parent) virtual void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b)

Data Members

    private:
Float_t m_Adc[4] ped subtracted Float_t m_RawAdc[4] raw Float_t m_Energy[4] Int_t m_Index EEezTowerPtrVec_t m_Neighbors EEezTowerPtrVec_t m_NeighborSeeds EEezStripPtrVec_t m_UStrips EEezStripPtrVec_t m_VStrips EEezTowerPtrVec_t m_UShareSmd EEezTowerPtrVec_t m_VShareSmd Int_t mUMin Int_t mUMax Int_t mVMin Int_t mVMax TString m_Name

Class Description

 EEezTower

 Author: Jason C. Webb <jwebb@iucf.indiana.edu>

 The EEezTower class is the main access point for getting
 information about EEMC detector response. It provides member
 functions for accessing the tower energy response, and the
 energy response of the pre- and postshower layers. It also
 provides methods which return pointers to neighboring towers,
 and the SMD strips which are contained within the fiducial
 volume of the tower.



EEezTower()
 Constructor of the EEezTower class.

void clear()
 Clears the list of neighboring seed towers and zeros out
   the energy and ADC values of the tower.


void setSeed()
 Sets this tower as a seed tower by adding this tower
 to the list of neighboring seed towers of all of its
 neighbors.


void printNeighbors()
 Print method for verifying that the pointers to neighboring
 towers are properly initialized.


Float_t getSumNeighbors( Int_t split )
 Loop over all neighboring towers and sum their energies.

 The variable split is used to indicated whether or not
 the energy of a neighboring tower should be divided
 between adjacent seed towers, and which mode to use
 in dividing.

 split = 0  indicates no division of energy, used when SMD data available
 split = 1  indicates equal division of energy
 split = 2  indicates energy-weighted division of energy (not implemented)

 This code was used in early versions of the pi0 finder, but will
 probably be discontinued in the near future.


Float_t getSumNeighborSeeds()
 Sums the energies of neighboring seed towers

void removeFrom( EEezTowerPtrVec_t *towers )
 Removes this tower from a specified list (vector) of towers


void print()
 Print out the tower's ADC and energy response, and it's neighbor's

void printLine()
 Single line printout of tower name, adc and energy

const Char_t* getName()
 Returns the name of the tower.  Would be better to make
 this class a descendant of TNamed


void setIndex ( Int_t index )

void addUStrip ( EEezStrip *strip )
 Permanently associate the specified strip with this tower.
 Any request for information about the SMD strips associated
 with this tower will include the response of the given strip.

void addVStrip ( EEezStrip *strip )
 Permanently associate the specified strip with this tower.
 Any request for information about the SMD strips associated
 with this tower will include the response of the given strip.

EEezStripPtrVec_t* getUStrips()
 Return a pointer to the vector of SMD-U strips which fall
 within the fiducial volume of this tower.

EEezStripPtrVec_t* getVStrips()
 Return a pointer to the vector of SMD-V strips which fall
 within the fiducial volume of this tower.

Int_t getNUStrips()
 fiducial volume of this tower.

Int_t getNVStrips()
 Return the number of SMD-V strips which fall within the
 fiducial volume of this tower.

EEezStrip* getUStrip( Int_t i )
 Return a pointer to the ith SMD-U strip within the fiducial
 volume of this tower.  0 <= i < getNUStrips().

EEezStrip* getVStrip( Int_t i )
 Return a pointer to the ith SMD-V strip within the fiducial
 volume of this tower.  0 <= i < getNVStrips().

Float_t getSumMipU()
 Returns the total number of MIPs detected in the SMD-U plane

Float_t getSumMipV()
 Returns the total number of MIPs detected in the SMD-V plane

Float_t getMeanU()
 Returns the energy-weighted mean U position for the SMD response
 beneath the tower.  Note that the accuracy of this method is
 compromised by high-multiplicity events.

Float_t getMeanV()
 Returns the energy-weighted mean V position for the SMD response
 beneath the tower.   Note that the accuracy of this method is
 compromised by high-multiplicity events.

Float_t getMomentU( Int_t n )
 Returns the Nth moment of the SMD distribution beneath the
 tower.  EEezTower::getMomentU(0) will return the equivalent
 number of MIPs in the SMD.

Float_t getMomentV( Int_t n )
 Returns the Nth moment of the SMD distribution beneath the
 tower.  EEezTower::getMomentV(0) will return the equivalent
 number of MIPs in the SMD.

Int_t getNUHitStrips()
 Returns the number of hit U strips beneath the tower.

Int_t getNVHitStrips()
 Returns the number of hit V strips beneath the tower.

Float_t getAdc( Int_t det )
 Returns ADC-ped for the selected detector.  0=T, 1=P, 2=Q, 3=R.

Float_t getRawAdc( Int_t det )
 Returns raw ADC for the selected detector.  0=T, 1=P, 2=Q, 3=R.

Float_t getEnergy( Int_t det )
 Returns calibrated energy response, (ADC-ped)/gain, for the
 selected detector.  0=T, 1=P, 2=Q, 3=R.

EEezTowerPtrVec_t getNeighbors()
 Returns an EEezTowerPtrVec_t (std::vector) containing pointers to
 neighboring towers (other EEezTower objects).

EEezTowerPtrVec_t getNeighborSeeds()
 Returns an EEezTowerPtrVec_t (std::vector) containing pointers to
 neighboring towers (other EEezTower objects) which exceed the
 seed threshold.

Int_t getNNeighborSeeds()
 Returns the number of neighboring towers which exceed the seed
 threshold.

Int_t getNNeighbors()
 Returns the number of neighboring towers (hit or not).

EEezTower* getNeighbor(Int_t n)
 Returns a pointer to the nth neighboring tower.



Inline Functions


               void setAdc(Float_t a, Int_t det)
               void setRawAdc(Float_t a, Int_t det)
               void setEnergy(Float_t e, Int_t det)
               void addNeighbor(EEezTower* n)
               void setIndex(Int_t phibin, Int_t etabin)
               void addNeighborSeed(EEezTower* n)
              Int_t getIndex()
              Int_t getEtabin()
              Int_t getPhibin()
              Int_t getSubSector()
              Int_t getSector()
               void getRangeU(Int_t& umin, Int_t& umax)
               void getRangeV(Int_t& vmin, Int_t& vmax)
            TClass* Class()
            TClass* IsA() const
               void ShowMembers(TMemberInspector& insp, char* parent)
               void Streamer(TBuffer& b)
               void StreamerNVirtual(TBuffer& b)
          EEezTower EEezTower(const EEezTower&)
               void ~EEezTower()


Author: Jason C. Webb
Last update: Tue Jun 1 11:19:11 2004


ROOT page - Class index - Top of the page

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.