1 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2 * See cxx source for full Copyright notice */
5 // $MpId: AliMpPad.h,v 1.6 2005/08/26 15:43:36 ivana Exp $
9 /// \brief Class which encapsuate all information about a pad
11 /// Authors: David Guez, Ivana Hrivnacova; IPN Orsay
16 #include "AliMpContainers.h"
23 #include <TClonesArray.h>
29 #include "AliMpIntPair.h"
31 class AliMpPad : public TObject
35 typedef std::vector<AliMpIntPair> IntPairVector;
38 typedef TClonesArray IntPairVector;
42 AliMpPad(const AliMpIntPair& location, const AliMpIntPair& indices,
43 const TVector2& position, const TVector2& dimensions,
44 Bool_t validity = true);
46 AliMpPad(const AliMpPad& src);
50 Bool_t operator == (const AliMpPad& pos2) const;
51 Bool_t operator != (const AliMpPad& pos2) const;
52 AliMpPad& operator = (const AliMpPad& src) ;
55 void PrintOn(ostream& out) const;
56 virtual void Print(const char* /*option*/ = "") const;
59 static AliMpPad Invalid() {return AliMpPad();}
62 Bool_t AddLocation(const AliMpIntPair& location, Bool_t warn = true);
65 AliMpIntPair GetLocation() const {return fLocation;}
66 AliMpIntPair GetIndices() const {return fIndices;}
67 TVector2 Position() const {return fPosition ;}
68 TVector2 Dimensions() const {return fDimensions;}
69 Bool_t IsValid() const {return fValidity ;}
71 Int_t GetNofLocations() const;
72 AliMpIntPair GetLocation(Int_t i) const;
73 Bool_t HasLocation(const AliMpIntPair& location) const;
76 // static data members
77 static const Int_t fgkMaxNofLocations; // maximum number of pad locations
80 IntPairVector* fLocations; // collection of pad locations
81 AliMpIntPair fLocation; // pad location
82 AliMpIntPair fIndices; // pad indices
83 TVector2 fPosition; // the pad position (in cm)
84 TVector2 fDimensions; // the pad dimensions (in cm)
85 Bool_t fValidity; // validity
87 ClassDef(AliMpPad,1) //utility class for the motif type
90 ostream& operator << (ostream &out, const AliMpPad& op);
91 Bool_t operator < (const AliMpPad& left, const AliMpPad& right);