LSpace


class description - source file - inheritance tree

class LSpace


    public:
LSpace LSpace() LSpace LSpace(const int x, const int y, const int z) LSpace LSpace(const LSpace&) virtual void ~LSpace() LParticle* AddParticle(const int i, const int j, const int k) static TClass* Class() float Distance(const int x, const int y, const int z) const float Distance(const int idx) float GetBias(const int k) const float* GetBias() const float GetEnergy(int i, int j, int k) const float GetEnergyDifference(int i, int j, int k, int di, int dj, int dk) const Lattice* GetLattice() const LParticle* GetParticle() const int GetX() const int GetY() const int GetZ() const virtual TClass* IsA() const int IsInside(const LParticle* e) const void SetBias(const int k, const float bias) void SetBias(const float* bias) virtual void ShowMembers(TMemberInspector& insp, char* parent) virtual void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b)

Data Members


    protected:
int fx int fy int fz space size Lattice* fspace !lattice LParticle* fe !particle in a space Float_t* fbias [fz] bias array

Class Description

  This class is for use to montecarlo
  simulation of charge particle in a
  disordered molecular crystal

  with this class we bind together
  particle properties and lattice
  properties and external field (fbias).
  The Lattice class
  is for random energy, base cell size, etc.
  The particle class knows its position,
  time and energy

  Lattice coordinates and particle coordinates
  are not the same. Lattice coordinates i and j
  are periodic. This is done with Lattice class.
  This means, that when the
               i > fNa then i%=fNa
               i < 1   then i%=fNa and i+=fNa
                ...
  where fNa and fNb are lattice sizes.


 Logs:

  $Log: LSpace.cc,v $
  Revision 1.5  2003/06/26 14:46:16  cvs
  found a bug in LSpace::GetEnergy() with fbias. Bug successfully resolved :)

  Revision 1.4  2003/06/26 13:26:05  cvs
  some bugs removed + some test methods implemented in LDisorder

  Revision 1.3  2003/06/26 11:24:25  cvs
  modified particle moving with LMiki and faster LDisorder operations

  Revision 1.2  2003/06/26 09:27:11  cvs
  added log fields...


LSpace()
default constructor

~LSpace()
destroy Lattice and particles and free memory space used by fbias

LSpace(const int x,const int y,const int z)
 Create space of size x,y and z
 including Lattice (of the size 100x100x100) and adds a LParticle
 create fbias array for external field energy
   fbias is (0..fz+1) 0 is external bias at one side, while fz+1 is
   external bias at other side

LParticle* AddParticle(const int i,const int j,const int k)
(re)create particle e at coordinate i,j,k
particle energy is set

int IsInside(const LParticle *e)const
this is test method, which controls if the particle is inside the space
currently the control is done only for z direction
if particle is inside 1 is returned else 0 if is outside

float Distance(const int i,const int j,const int k)const
see Lattice::Distance

float Distance(int idx)
see Lattice::Distance

void SetBias(const int k,const float bias)

SetBias(const float* bias)
copy bias array

GetBias(const int k) const

float GetEnergy(int i,int j,int k) const
see Lattice::GetEnergy - fbias[k]
here is assumed we work with positive particles

float GetEnergyDifference(int i,int j,int k,int di,int dj,int dk) const
see Lattice::GetEnergyDifference  + (fbias[k+dk]-fbias[k])



Inline Functions


         LParticle* GetParticle() const
           Lattice* GetLattice() const
                int GetX() const
                int GetY() const
                int GetZ() const
             float* GetBias() const
            TClass* Class()
            TClass* IsA() const
               void ShowMembers(TMemberInspector& insp, char* parent)
               void Streamer(TBuffer& b)
               void StreamerNVirtual(TBuffer& b)
             LSpace LSpace(const LSpace&)


Author: Egon Pavlica
Last update: Sat Oct 16 19:10:34 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.