CalSmeared


class description - source file - inheritance tree

class CalSmeared : public TObject

    private:
CalSmeared CalSmeared() public:
CalSmeared CalSmeared(SmearTraj& traj, Bool_t hadron, SmearFuzz* pFuzz, TRandom* pRand) CalSmeared CalSmeared(CalSmeared&) virtual void ~CalSmeared() TClass* Class() Float_t GetClusterStartDepth() Float_t GetEnergy() Float_t GetEnergyPhi() Float_t GetEnergyPhiRms() Float_t GetEnergyR() Float_t GetEnergyRRms() Float_t GetEnergyTheta() Float_t GetEnergyThetaRms() Double_t GetEPerfect() Double_t* GetPosPerfect() Double_t* GetPosSmeared() TObjArray* HitList() virtual TClass* IsA() TObjArray* MCEList() TObjArray* McIxList() void Rotate(Double_t* inVec, Double_t* angleVec, Double_t* result) void RotatePhi(Double_t phi, Double_t* iVec, Double_t* rVec) void RotateTheta(Double_t theta, Double_t* iVec, Double_t* rVec) virtual void ShowMembers(TMemberInspector& insp, char* parent) void spew(FILE* ofile) void spewDiag(FILE* ofile) virtual void Streamer(TBuffer& b) Float_t ToDegrees(Float_t rads) Double_t ToDegrees(Double_t rads) void ToPolar(Double_t* pRect, Double_t* pPolar) Double_t ToRadians(Double_t degs) Float_t ToRadians(Float_t degs)

Data Members

private:
TObjArray* mcContribs list of indices of contributing MC particles Int_t pid1 Save pid of 1st particle for debugging Int_t nPart # particles in cluster. For now always 1. Double_t ePerfect original energy of associated MC particle Float_t energy smeared energy Float_t energySigma sigma used to smear energy Double_t posClusterStart[3] cluster start pos. Double_t posPerfect[3] (should be) shower max position Double_t pos[3] smeared (x,y,z) Double_t sPerfect path length traversed by particle to shower start Double_t ePhi energy-weighted phi of cluster Double_t eTheta energy-weighted theta of cluster Double_t eR energy-weighted radius of cluster Double_t eThetaRms theta rms comes from transverse smearing sigma Double_t ePhiRms phi rms comes from transverse smearing sigma Double_t eRRms current implementation just sets this to 0.

Class Description

 CalSmeared

 CalSmeared is the Fast MC version of a cluster (really should be
 inheriting from Event Cluster class).  In addition to minimal cluster
 attributes it also keeps some information on the "perfect" cluster
 from which it is derived.

CalSmeared(SmearTraj& traj, Bool_t hadron, SmearFuzz* pFuzz, TRandom *pRand)
 Usual constructor.  Inputs are
    -- "perfect" particle position, after propagation
    -- hadron/lepton boolean
    -- smearing parameters
    -- random number generator instance

void spewDiag(FILE* ofile)
 More extensive spew for debugging

void spew(FILE* ofile)
 Typical cluster output for a fastMC cluster looks like
        energy energyPhi energyTheta energyR phiRms thetaRms rRms
        0 hits
        1 particle(s)
        xxxxxxxx

 where the quantities in the first line are floating point and
 xxxxxxxx is index (in array of all MC particles) associated with
 generating MC particle.

 The set of all clusters are bracketed by the lines
    yyy Clusters                          [before]   and
    end                                   [after]

     yyy is the number of clusters to follow.

void ToPolar(const Double_t *pRect, Double_t *pPolar)
 Given rectangular coords, compute polar and store in provided 3-vector.
 (theta, phi, r).  The following conventions are used:
 0 <= phi < 2 pi
 0 < phi < pi/2 for x, y > 0.  pi/2 < phi < pi for x < 0, y > 0, etc.
 0 <= theta < pi; theta < pi/2 for z > 0

void Rotate(Double_t* inVec, Double_t* angleVec, Double_t* result) // Rotate something so that z axis is "returned" // to normalVec. That is, if angleVec has polar coords (theta, phi, r), // rotate about y-axis by theta, then about z-axis by phi.
 We need to rotate by theta, phi coordinates of momentum

void RotateTheta(const Double_t theta, Double_t *iVec, Double_t *rVec) // Rotate about y-axis with angle theta

void RotatePhi(const Double_t phi, Double_t *iVec, Double_t *rVec) // Rotate about z-axis with angle phi



Inline Functions


            Float_t GetEnergy()
            Float_t GetEnergyTheta()
            Float_t GetEnergyPhi()
            Float_t GetEnergyR()
            Float_t GetEnergyThetaRms()
            Float_t GetEnergyPhiRms()
            Float_t GetEnergyRRms()
          Double_t* GetPosPerfect()
          Double_t* GetPosSmeared()
           Double_t GetEPerfect()
            Float_t GetClusterStartDepth()
         TObjArray* McIxList()
         TObjArray* MCEList()
         TObjArray* HitList()
           Double_t ToDegrees(Double_t rads)
            Float_t ToDegrees(Float_t rads)
           Double_t ToRadians(Double_t degs)
            Float_t ToRadians(Float_t degs)
         CalSmeared CalSmeared()
            TClass* Class()
            TClass* IsA()
               void ShowMembers(TMemberInspector& insp, char* parent)
               void Streamer(TBuffer& b)
         CalSmeared CalSmeared(CalSmeared&)
               void ~CalSmeared()


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.